Difference between revisions of "Export"
From Linuxintro
imported>ThorstenStaerk (Created page with "'''export''' is a command to set environment variables in the bash shell. '''Examples:''' $ PATH="$PATH:." $ export $PATH or $ export PATH=$PATH:. verify a va...") |
imported>ThorstenStaerk m |
||
(One intermediate revision by the same user not shown) | |||
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 = | ||
− | |||
At first glance, export is useless, because you can as well omit it: | At first glance, export is useless, because you can as well omit it: | ||
$ export a=b | $ export a=b | ||
Line 39: | Line 38: | ||
world | world | ||
You see, the (assigned) value of $first is not available to output.sh, but the (exported) value of $second is. | You see, the (assigned) value of $first is not available to output.sh, but the (exported) value of $second is. | ||
+ | |||
+ | = See also = | ||
+ | * [[shell scripting tutorial]] | ||
+ | * [[bash]] | ||
+ | * [[shell]] | ||
[[Category:Command]] | [[Category:Command]] |
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.