How to change parent shell's variables?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to change parent shell's variables?
# 1  
Old 01-17-2008
How to change parent shell's variables?

I have a question about how to change variables in parent shell.

My script, test.sh, is below:

#!/bin/sh
# test.sh
PATH=.

The commands I ran for test:

$ echo $PATH
.:/usr/bin:/usr/sbin:/usr/local/sbin:
$ sh test.sh
$ echo $PATH
.:/usr/bin:/usr/sbin:/usr/local/sbin:

Note that when I run sh test.sh, the variable PATH was not changed. I know that I can run . test.sh to make it change PATH. But for some reason I have to run sh test.sh. So in this case, how to make child process change the variables in parent process?

Thanks.
# 2  
Old 01-17-2008
The parent shell can't inherit variables from the child but you can run your script in the current shell with (first make your script executable):

Code:
. scriptname

or if you have the source command on your system:

Code:
source scriptname

Regards
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Kill a process from parent shell within a shell script

Hi, I am looking for a solution for the following problem: Im Using tcpdump within a shellskript started in a subshell by using brackets: ( /usr/sbin/tcpdump -i ... -c 1 ) - I want the outout of tcpdump saved in a variable - Than tcpdump-Process in the Subshell should be killed - and I... (6 Replies)
Discussion started by: 2retti
6 Replies

2. Shell Programming and Scripting

Exporting variables from subshell to parent shell

Hi, I was trying to do something where I would be able to export one local variable in a telnet subshell to its parent shell. I found something like this over here, but couldnt exactly understand it :(. I am referring to this part actually: #! /usr/bin/ksh exec 4>&1 tail -5 >&4 |& exec... (4 Replies)
Discussion started by: King Nothing
4 Replies

3. UNIX for Advanced & Expert Users

executing a command on parent shell

Hi, I am logging in from my PC terminal to a linux host using ssh. Is it possible to execute a command on the parent PC terminal from the linux host during login. NOte that the parent PC does not have sshd running. Sam (1 Reply)
Discussion started by: sardare
1 Replies

4. UNIX for Advanced & Expert Users

input to Parent shell

how can we give input to parent shell? i mean shell that is creating a child and our c prograame will run on that child..and then it return to parent shell.. what i want to do i want execute a c programe that will give command as input to parent shell & get output from parent shell and... (1 Reply)
Discussion started by: gajju
1 Replies

5. Shell Programming and Scripting

full path of a file situated either in parent's dir. or parent's parent dir. so on...

hi experts(novice people can stay away as it is no child's game), i am developing a script which works like recycle bin of windows. the problem i am facing is that when ever i am trying to delete a file which is situated in parent directory or parent's parent directory i am unable to... (1 Reply)
Discussion started by: yahoo!
1 Replies

6. Shell Programming and Scripting

parent shell is waiting upon the child shell

Hi, I haev to devlop a script which when executed will take in a sudo privelege and run a set of commands then will go back to parent shell and execute the rest of the command But the problem I am facing is that when the script is executed it takes the sudo privelege but it waits for the... (0 Replies)
Discussion started by: ruchirmayank
0 Replies

7. UNIX for Dummies Questions & Answers

Passing environment variables to parent shells

Hi, I am using bash and need to run a set of tcsh scripts that set environment variables. Is there a way to do this? Any help greatly appreciated. (3 Replies)
Discussion started by: konndanley
3 Replies

8. Shell Programming and Scripting

parent shell pid

hi folks can any suggest me how to get a parent processid in the script if i am executing this in the script vi myscript.sh echo "parent shell pid"$$ sh myscript.sh but when i am executing this i am getting a new pid(actually that is the child pid) whenever i am executing this... (4 Replies)
Discussion started by: maheshwin
4 Replies

9. Shell Programming and Scripting

How to pass CSH variables up to the parent?

Hi .. I have a dynamic script called from a programming language called Powerhouse (4GL). The module, called QUIZ, allows the user to call shell commands from within it... i.e. !rm -f mipss156t2cmd1.bat mipss156t2tmp1.txt !printf '#!/bin/csh\n' > mipss156t2cmd1.bat !printf 'setenv... (0 Replies)
Discussion started by: ElCaito
0 Replies

10. UNIX for Dummies Questions & Answers

executing in parent shell.

I have a script that I want to run in my current shell. I know that if I start it with a period ie '. myprogram' that this will cause it to run in my current shell instead of starting a new shell for it. What if I forgot to put the period. Is there some command that I can put in 'myprogram'... (1 Reply)
Discussion started by: Alan Bird
1 Replies
Login or Register to Ask a Question