[PLUG] Maybe not so dumb BASH question

William A Morita wamorita at hevanet.com
Fri May 6 17:11:42 UTC 2005


Jason,

Making the change does not affect the output of the script. 
If I am reading the documentation correctly, the value set in the function
should override the initial value of "None".

- Bill 
wamorita at hevanet.com 

 

-----Original Message-----
From: Jason R. Martin [mailto:nsxfreddy at verizon.net] 
Sent: Thursday, May 05, 2005 11:10 PM
To: General Linux/UNIX discussion and help; civil and on-topic
Cc: wamorita at hevanet.com
Subject: Re: [PLUG] Maybe not so dumb BASH question

BTW, since I was too tired to mention it in the last email, changing

   Num=`GetNumber`

to

   Num=$(GetNumber)

will also solve your problem, this time without exporting TMPDIR.

Jason

Jason R. Martin wrote:
> The backtick (command substitution) operator generates it's own 
> environment (I think).  You'll have to export TMPDIR to mark it for 
> the environment passed to the child process.
> 
> Of course, it's late, and my processor has gone to sleep (S5?).
> 
> Jason
> 
> William A Morita wrote:
> 
>> I have written the script below and am puzzled by the fact that the 
>> shell variable TMPFILE is not global in nature.
>> According to all documentation I can find, it is explicitly stated 
>> that with regard to function, all variables are global unless the 
>> "local"
>> keyword is
>> used.
>> I am not seeing a global effect when the script below is run on White 
>> Box Linux (Bash 2.05) or Fedora Core 3 (Bash 3.05).  Is there a 
>> setting I may have wrong someplace?
>>
>> ==============================
>> #!/bin/bash
>> # Script to get unique number using files in a temp directory #
>>
>> set -x
>>
>> TMPDIR=~/tmp
>>
>> function GetNumber
>> {
>>   set -xv
>>   for n in 0 1 2 3 4 5 6 7 8 9
>>   do
>>     TMPFILE=$TMPDIR/TagFile$n
>>     if [ -f $TMPFILE ]
>>     then
>>       continue
>>     else
>>       touch $TMPFILE
>>       echo $n
>>       trap "rm -f $TMPFILE" INT TERM
>>       exit
>>     fi
>>   done
>> }
>>
>> TMPFILE=None
>> Num=`GetNumber`
>>
>> echo $Num $TMPFILE
>> ==============================
>>
>>  
>>  
>>
>> - Bill
>> wamorita at hevanet.com
>> Home: (503) 697-6994
>> Cell: (503) 260-3876
>>
>> _______________________________________________
>> PLUG mailing list
>> PLUG at lists.pdxlinux.org
>> http://lists.pdxlinux.org/mailman/listinfo/plug
>>
> _______________________________________________
> PLUG mailing list
> PLUG at lists.pdxlinux.org
> http://lists.pdxlinux.org/mailman/listinfo/plug
> 




More information about the PLUG mailing list