Um zu veranschaulichen, was die anderen Antworten sagen:
$ foo="Hello, World"
$ echo $foo
Hello, World
$ bar="Goodbye"
$ export foo
$ bash
bash-3.2$ echo $foo
Hello, World
bash-3.2$ echo $bar
bash-3.2$
export
stellt die Variable Unterprozessen zur Verfügung.
Das heißt,
export name=value
bedeutet, dass der Variablenname für jeden Prozess verfügbar ist Sie laufen von diesem Shell-Prozess aus. Wenn Sie möchten, dass ein Prozess diese Variable verwendet, verwenden Sie export
, und führen Sie den Prozess von dieser Shell aus.
name=value
bedeutet, dass der Variablenbereich auf die Shell beschränkt ist und keinem anderen Prozess zur Verfügung steht. Sie würden dies für (sagen wir) Loop-Variablen, temporäre Variablen usw. verwenden.
Es ist wichtig zu beachten, dass das Exportieren einer Variablen diese nicht für übergeordnete Prozesse verfügbar macht. Das heißt, das Spezifizieren und Exportieren einer Variablen in einem erzeugten Prozess macht sie nicht in dem Prozess verfügbar, der sie gestartet hat.