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: