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>[[env]]</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.

See also