[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Newbie: export command doesn't operate when I execute it using a script? - Solved.



Selon Ken Irving <fnkci@uaf.edu>:

> On Tue, Apr 20, 2004 at 10:41:15AM +0200, sylvain.vedrenne@free.fr wrote:
> > 
> > Hello,
> > 
> > >From the command line, export works as I expect, but when I execute an
> export 
> > command by launching a script, it doesn't work as I expect.
> > 
> > Example:
> > 
> > % cat try_it
> >   export VARIABLE=ItWorksFineImHappy
> > % export VARIABLE=DoesntWorkImConfused
> > % echo $VARIABLE
> >   DoesntWorkImConfused       (so far, so good)
> > % chmod +x try_it
> > % ./try_it
> > % echo $VARIABLE
> >   DoesntWorkImConfused
> > 
> > Did I miss something fundamental? 
> > I couldn't find the answer until now... Please help.
> > 
> > Sylvain.
> 
> Export works to pass variables to subsequent command environments; the
> try_it script would see the the right value, and so would any scripts
> (or shells) that it ran.  But you're in the current environment,
> and a script that you run cannot modify it.  Each command is passed a
> copy of the environment; export makes variables persist into that copy.
> It is possible to run a script to set your current variables, but not by
> running the script; rather "source it" to the current shell by using the
> "." or source command.
> 
> Good luck!

Thank you guys!
I've learned something useful.

The 'unexpected' behaviour was:
  % ./try_it
  % echo $VARIABLE
    DoesntWorkImConfused
Now I know why it is so. 

The solution you gave me is:
  % . ./try_it    Or as well:   % source try_it
  % echo $VARIABLE
    ItWorksFineImHappy

Cheers,
Sylvain.
> 
> -- 
> Ken Irving, Research Analyst, fnkci@uaf.edu, 907-474-6152
> Water and Environmental Research Center
> Institute of Northern Engineering
> University of Alaska, Fairbanks
> 




Reply to: