global variables


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers global variables
# 1  
Old 03-19-2009
global variables

Hi,

I hav created a script that calls a sub-script. In both the scripts i called the configuration file. Now i wanted to use a variable that should be used in both script and sub-script files. Actually, i wanted to return a file name and the return status to the script file from the sub-script.

I hav used export in both script n sub-script but its' not working

How can i solve the same
# 2  
Old 03-19-2009
Swapna,

Try this:

Code:
. subscript #### Note the usage. It is "dot whitespace scriptname"

Whatever variables are set by the subscript can then be used in the script.

HTH, Smilie

Regards,

Praveen
# 3  
Old 03-19-2009
this is called sourcing a script ..

in ksh/bash shell you can just do with
. <file name>

in c shell

source <file name>
# 4  
Old 03-19-2009
but my sub-script is containing some levels of actions and if those actions fail i need to return the status to the main script which is done but along with return status i need to send the filename as well. which is not existing on the system
# 5  
Old 03-19-2009
In your context there is no such thing as a global variable.
The calling script and the sub-script can use variables with the same name but they are not the same data stores.

Two ways round the problem: I prefer the first method.

1) Create a temporary file in the calling script and pass the name of the temporary file to the sub-script as a parameter. In the sub-script write the reply values to the temporary file. Read the reply values back in the calling script. Delete the temporary file.

2) If the only output from the sub-script is the reply values, just echo the values in the sub-script and capture them in the calling script.
Code:
#!/bin/ksh
# calling_script
sub_script | read reply1 reply2
echo "The sub-script replied ${reply1} ${reply2}"


#!/bin/ksh
# sub_script
.... Processing ...
echo "${status} ${reply_filename}"


Last edited by methyl; 03-19-2009 at 10:56 AM.. Reason: too wide
# 6  
Old 03-19-2009
By using environment variables you can share the data.
# 7  
Old 03-19-2009
are you calling same config file in both scripts ? if yes then why ?? why cant you just call/export config file in main script so that all variables are available in main as well as in sub-script. i am assuming you want to use variables from config file. correct me if i am wrong.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Global variables in perl

hi all, i need a help for the following query. Thanks in advance for your valuable time. i have a main.pl file which has a global variable declared as below. our myVar=0; call first.pl script from the main.pl script. print the value of myVar (the value is still 0 and not 10.) i have a... (1 Reply)
Discussion started by: hemalathak10
1 Replies

2. Shell Programming and Scripting

Find global variables, c source

Hello.I have been trying to solve the following problem, but to no avail. If anyone could please give me some indications, or anything, it would be amazing. A C source program and a type name are given. Determine from source, the list of the global variables having the given type. For each... (5 Replies)
Discussion started by: Susan78
5 Replies

3. Shell Programming and Scripting

[PHP] Need help with making variables Global

I have made a script that requires another php script for functions. I need a way so that the required script can read and write the main script's variables. Best Regards, John Wei ---------- Post updated at 08:54 AM ---------- Previous update was at 08:40 AM ---------- Sorry Guys, EDIT: my... (1 Reply)
Discussion started by: johntzwei
1 Replies

4. Shell Programming and Scripting

Function ignoring global variables

Hi there. I'm writing a function to which I want to pass a global variable. For some reason, it's ignoring the variable. #!/bin/bash ##################################### #Variable Declaration ##################################### CURPATH=`dirname $0` DEEP=$CURPATH/depth.txt export... (4 Replies)
Discussion started by: mikesimone
4 Replies

5. Solaris

How to access ENV variables of non global zones in global zone???

Hi Guys, My requirement is I have file called /opt/orahome/.profile in non global zone. PATH=/usr/bin:/usr/ucb:/etc:/usr/sbin:/usr/local/bin:/usr/openwin/bin:. export PATH PS1="\${ORACLE_SID}:`hostname`:\$PWD$ " export PS1 EDITOR=vi export EDITOR ENV=/opt/orahome/.kshrc export ENV... (1 Reply)
Discussion started by: vijaysachin
1 Replies

6. Programming

global variables and dynamic allocation

Hi, is it possible in C to allocate dynamically a global variable?? (3 Replies)
Discussion started by: littleboyblu
3 Replies

7. Shell Programming and Scripting

Problem with global and local variables

Guys, how can I define global variables in sorlaris...cause I lose the values outside the scope. Rite now wat I do is,I redirect variable value to a file n then get it back outside the function...:o....theres obviously a better way of doing this...I now this is a basic question....but please... (2 Replies)
Discussion started by: qzv2jm
2 Replies

8. BSD

Declaring Global Variables in KLD

Hello, how can I define a global variables in KLD? I would like to define some variables in my KLD and then would like to use them from other KLD. Thanx (1 Reply)
Discussion started by: int80h
1 Replies

9. Programming

global variables in KLD (FreeBSD)

Hello dear BSD hackers, how can I define and then make visible some variables that I define in KLD (BSD) for other part of Kernel or other KLD's ? if i declare for example the varibale out of load-function of KLD , the name of this variable isn't export to symbol-table and the variable can... (0 Replies)
Discussion started by: int80h
0 Replies

10. Shell Programming and Scripting

perl global variables

Can someone give me "the lecture" on why you shouldn't make all your varables global when programming in perl. I have been doing this but I have heard that it is not a good practice. (3 Replies)
Discussion started by: reggiej
3 Replies
Login or Register to Ask a Question