shell script/export question
Paul Howarth
paul at city-fan.org
Sat Mar 4 21:01:02 UTC 2006
On Sat, 2006-03-04 at 12:07 -0800, bruce wrote:
> hi..
>
> i have the following simple script...
>
> # .foo
> # User specific environment and startup programs
>
> JAVA_HOME=/opt/IBMJava2-141
> export JAVA_HOME
>
> -------------------
>
> when i do a >./foo.sh, and then do a echo $JAVA_HOME, i don't see the
> exported variable. foo.sh has the exe bit set (777). any idea what i'm doing
> wrong. i'm using fc4. i'm basically trying to figure out how to create a env
> var, and export the var.
Put the commands in .bash_profile or .bashrc instead.
The reason this doesn't work is that you are running the commands in a
separate shell. So the environment variables are set in that shell, and
it promptly exits. Unlike Windows .BAT files, environment variables
changed in child shells don't affect their parent.
If you want the variables set in the corrent shell, you need to set them
in the current shell. The way to do this is to use the "source" (or ".")
command:
$ source .foo
Paul.
More information about the fedora-list
mailing list