Difference between revisions of "Export"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk m |
||
Line 10: | Line 10: | ||
$ [[echo]] $sense | $ [[echo]] $sense | ||
42 | 42 | ||
− | You can list all environment variables currently set with the [[command]] <tt> | + | You can list all environment variables currently set with the [[command]] <tt>env</tt>. |
= Usecase = | = Usecase = |
Latest revision as of 01:57, 23 January 2012
export is a command to set environment variables in the bash shell.
Examples:
$ PATH="$PATH:." $ export $PATH
or
$ export PATH=$PATH:.
verify a variable has been set:
$ export sense=42 $ echo $sense 42
You can list all environment variables currently set with the command env.
Usecase
At first glance, export is useless, because you can as well omit it:
$ export a=b $ echo $a b $ x=y $ echo $x y
So, what is the difference between
$ export first="hello"
and
$ first="hello"
The difference is that "export" sets an environment variable that you can show with the command
env
And that will be available to sub-contexts, so, to programs that will be called from this shell. As an example, let's write a file output.sh
echo $first echo $second
now we set $first different from $second:
$ chmod 777 output.sh $ first=hello $ export second=world $ ./output.sh world
You see, the (assigned) value of $first is not available to output.sh, but the (exported) value of $second is.