Call a function in shell script from another shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Call a function in shell script from another shell script
# 1  
Old 02-04-2014
Call a function in shell script from another shell script

I've 2 shell scripts viz., CmnFuncs.ksh and myScript.ksh.
1st script contains all common functions and its code is as below:

Code:
$vi CmnFuncs.ksh
#!/bin/ksh
RunDate()
{
 ....
 ....
 export Rundt=`date +%Y%m%d`
}

2nd script is invoking the above one and I expect to use the RunDt variable value in this 2nd script
Code:
$vi myScript.ksh
#!/bin/ksh
 ....
 ....
 . ./CmnFuncs.ksh
 echo $RunDt
 export myFile=`echo xyz$RunDt`
 echo $myFile

When I ran the 2nd script, output is as below
Code:
$ ./myScript.ksh
 
xyz
$

I was expecting as below
Code:
$ ./myScript.ksh
20140204
xyz20140204
$

Can you help me fix the issue? Appreciate it.

Thanks!
# 2  
Old 02-04-2014
You never actually call the RunDT function, so the variable is never set.

Also, there is a typo, $Rundt vs $RunDt.

Code:
. ./myscript.sh

RunDate

echo $Rundt

# 3  
Old 02-04-2014
Thanks so much, it worked.

I though calling the CmnFuncs.ksh script should do the trick, didn't know that I need to call the function seperately.

---------- Post updated at 05:17 PM ---------- Previous update was at 05:16 PM ----------

The mis-match in the variable name was a typo
# 4  
Old 02-04-2014
In addition to what Corona688 said, you could also change:
Code:
 export myFile=`echo xyz$RunDt`

to:
Code:
 export myFile="xyz$Rundt"

You don't need command substitution here, just parameter expansion. (And, you don't need the export in this case unless you need to use the value stored inmyFile in separate execution environments invoked by this script.)

Last edited by Don Cragun; 02-04-2014 at 06:33 PM.. Reason: Fix typo.
# 5  
Old 02-04-2014
Don - That is very valuable advise. Thanks!

Actually, when I implement the above logic in my original script (the one I gave above is sample), it is giving me the right output but also throwing below error

./wf_CITCOFxParm.ksh[12]: test: argument expected
./wf_CITCOFxParm.ksh[12]: test: argument expected

Any clue?

---------- Post updated at 05:30 PM ---------- Previous update was at 05:29 PM ----------

Line 12 is where I'm calling the CmnFuncs.ksh in the myScript.ksh

---------- Post updated at 05:30 PM ---------- Previous update was at 05:30 PM ----------

followed by on line 13, I have

RunDate()
# 6  
Old 02-04-2014
Post the code as you have it right now. We can't see it from here.
# 7  
Old 02-04-2014
make sure you quote your variables in the 'test' condition
Code:
if [ "${var}" operation "${var}" ]

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strange function call in the shell script parse_prog_args $@

I am converting shell script to Perl. In shell I have a code parse_prog_args() { if then while do case $1 in -P* | -p* ) export PROCESS_DATE=$2 export MM=`echo $2 | cut -c5-6` export DD=`echo $2 | cut -c7-8` export YY=`echo $2 | cut -c3-4` export... (4 Replies)
Discussion started by: digioleg54
4 Replies

2. Programming

Writing a UNIX shell script to call a C function and redirecting data to a .txt file

Hi, I am complete new to C programming and shell scripting. I just wrote a simple C code to calculate integral using trapezoid rule. I am prompting user to pass me No. of equally spaced points , N , upper and lower limit. My code looks as follows so far: #include<stdio.h> #include<string.h>... (2 Replies)
Discussion started by: bjhjh
2 Replies

3. Shell Programming and Scripting

How to call Oracle function with multiple arguments from shell script?

Dear All, I want to know how can i call oracle function from shell script code . My oracle function have around 5 input parameters and one return value. for name in *.csv; do echo "connecting to DB and start processing '$name' file at " echo "csv file name=$x" sqlplus -s scoot/tiger <!... (2 Replies)
Discussion started by: Balraj
2 Replies

4. Shell Programming and Scripting

Segmentation fault in function call, shell script

I am getting Segmentation fault at below function call in my script: get_x() { sqlplus -s / <<end | grep KEEP | sed 's/KEEP//;s///g' select 'KEEP' ,table_name from all_synonyms where upper(synonym_name)= '$1'; exit end x=$(get_x $1) echo " SQL OUTPUT IS :: $x" } I am getting output of... (1 Reply)
Discussion started by: IB_88
1 Replies

5. Shell Programming and Scripting

Call shell script function from awk script

hi everyone i am trying to do this bash> cat abc.sh deepak() { echo Deepak } deepak bash>./abc.sh Deepak so it is giving me write simply i created a func and it worked now i modified it like this way bash> cat abc.sh (2 Replies)
Discussion started by: aishsimplesweet
2 Replies

6. Red Hat

how to call a particular function from one shell another shell script

please help me in this script shell script :1 *********** >cat file1.sh #!/bin/bash echo "this is first file" function var() { a=10 b=11 } function var_1() { c=12 d=13 (2 Replies)
Discussion started by: ponmuthu
2 Replies

7. Shell Programming and Scripting

call another shell script and pass parameters to that shell script

Hi, I basically have 2 shell scripts. One is a shell script will get the variable value from the user. The variable is nothing but the IP of the remote system. Another shell script is a script that does the job of connecting to the remote system using ssh. This uses a expect utility in turn. ... (2 Replies)
Discussion started by: sunrexstar
2 Replies

8. Shell Programming and Scripting

Shell Script to call another function

Here is the following code : 1. # gcc -c test firstprog.c the above command will generate a executable file called "test " in which ever directory it is run. Assuming It will also return a value. 2. In the below SCRIPT . test is a file generated by compiling a c program... (3 Replies)
Discussion started by: Vabiosis
3 Replies

9. Shell Programming and Scripting

how can i call a function in shell script

i have a function written in one shell script and i want to call that function in another shell script and use the value returned by that script. can any one suggest me how can i do that? regards, Rajesh.P (4 Replies)
Discussion started by: rajesh.P
4 Replies

10. Shell Programming and Scripting

i want to call a oracle function in my shell script

i want to call a oracle function in my shell script (4 Replies)
Discussion started by: dineshr85
4 Replies
Login or Register to Ask a Question