Listing all local variables for unset


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Listing all local variables for unset
# 1  
Old 10-18-2013
Listing all local variables for unset

I have tried to thoroughly search other threads before posting this question...

I have a shell script (bsh) that I'd like to "re-execute" if the user chooses to. Before the program is executed again the local variables (those set within the script) need to be unset. Is there a command that will list these to make unset easy and thorough? From what I understand env cannot be used to list just local variables.

There may be another way to re-execute rather than using unset and then exec that I haven't thought of. I am open to any suggestions. Thanks.
# 2  
Old 10-18-2013
Variables set within a script cease to exist, or revert to their values before the script was executed, when the script terminates (except, that is, if the script is sourced).

Code:
$ unset A B
$ export A B
$ A=33
$ cat myScript
A=40
echo A is $A
B=60
echo B is $B

$ ./myScript
A is 40
B is 60

$ echo A is $A
A is 33
$ echo B is $B
B is

# 3  
Old 10-18-2013
If you're executing (as opposed to sourcing) the script and it's not explicitly exporting the variables then they won't be set anyway, since they're local to the subshell.
# 4  
Old 10-18-2013
If you are exporting the variables , will get it in env command.
Otherwise start with set but it will list all the variables not just local variables set in the script .
Hope others has better solution.
# 5  
Old 10-18-2013
thanks

I had previously been using an until loop to cycle the program back around and that required the unset. I made the wrong assumption exec would require the same. Thanks for the information.
# 6  
Old 10-18-2013
Quote:
Originally Posted by greet_sed
If you are exporting the variables , will get it in env command.
Otherwise start with set but it will list all the variables not just local variables set in the script .
Hope others has better solution.
You could always diff the set output from before & after. Of course, you actually have to run the script.
This User Gave Thanks to CarloM For This Post:
# 7  
Old 10-18-2013
Quote:
Originally Posted by CarloM
You could always diff the set output from before & after. Of course, you actually have to run the script.
Alternatively if the env command lists exported variables and set lists all variables you diff the output of these commands.

Andrew
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unset variables in shell when it running two different loops

I have a script to start/stop/restart the tomcat application. When we run the script first time i.e stop/start it set all env variables(DISTRIB_ID,NAME,TOMCAT_CFG,....etc),but when we restart the tomcat it is running in the same shell.....I need to set the variables when i restart the tomcat(in the... (1 Reply)
Discussion started by: praveen265
1 Replies

2. UNIX for Dummies Questions & Answers

File listing from remote to local directory

Hello, I have a file at remote server. I have to select only current day's files that are dropped on ftp server. The files do not have date or timestamp on them. so I plan to get the file listing from remote server to the local server. Based on file listing date I can find out when the files... (2 Replies)
Discussion started by: pavan_test
2 Replies

3. Shell Programming and Scripting

[ask] about unset variables

I'm wondering, is the number of variables will affect execution time of my bash script or maybe affect the cpu workload, cpu memory, etc ? If I create so many variables, should I unset each one of that variables after I used them or after I think they are no longer needed? and if my script... (2 Replies)
Discussion started by: 14th
2 Replies

4. Programming

Thread function local variables

As I know threads share the memory. But, what about the local variables in the thread function? if i call multiple threads would they allocate seperate local variables for themselves? like thread_func() { int i, j; string... } Are the above local variables defined for each of... (1 Reply)
Discussion started by: saman_glorious
1 Replies

5. Shell Programming and Scripting

How to check exit status of unset variables

Hi All, Is there any way to check exit status of unset variables? In the following code PathX is not set and the script terminates without checking exit status. #!/bin/bash Path="/tmp/log" cd ${PathX:?} if ;then echo "Exit Status : non zero" else echo "Exit Status :... (2 Replies)
Discussion started by: sussus2326
2 Replies

6. Shell Programming and Scripting

How to unset all variables in shell?

can I use unset to unset all the variables in a shell sciprt? VAR1=1 VAR2=2 VAR3=3 unset whether this unset will afftect any system variables? Thanks, (3 Replies)
Discussion started by: balamv
3 Replies

7. Shell Programming and Scripting

'while' loop does not change local variables?!

(I think this question desearves separate thread..) I have a problem with 'while' I am trying to set variables by 'while' and it is fine inside, but after completting the loop all changes are lost: > bb="kkkk - 111\nlllll - 22222\nbbbb - 4444" > echo "$bb" kkkk - 111 lllll - 22222 bbbb -... (3 Replies)
Discussion started by: alex_5161
3 Replies

8. Shell Programming and Scripting

Listing a directory via a script using variables

In my script I need to list the directory, where the generic name of the files will change, in my test case its set to TEST_*.mqsc. I wrote a small test script as below, but it just does not pip the listing to a file. Any idea why? dir='C:/cygwin/var/log/img/aut/' file=TEST01_*.mqsc ls $dir... (4 Replies)
Discussion started by: gugs
4 Replies

9. 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

10. UNIX for Dummies Questions & Answers

rsh with local variables

Hi, I am trying to do an rsh and execute the same script on a distant unix computer. The problem is that I need to get all the local variables of the distant computer to launch correctly my script. I'm working on AIX 4.3.3 I try to execute .profile in the rsh but it seems not to be... (1 Reply)
Discussion started by: jo_aze
1 Replies
Login or Register to Ask a Question