Pro ilustraci toho, co říkají ostatní odpovědi:
$ 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
zpřístupní proměnnou dílčím procesům.
To znamená,
export name=value
znamená, že název proměnné je dostupný jakémukoli procesu spustíte z tohoto procesu shellu. Pokud chcete, aby proces používal tuto proměnnou, použijte export
a spusťte proces z tohoto shellu.
name=value
znamená, že rozsah proměnné je omezen na shell a není dostupný žádnému jinému procesu. Toto byste použili pro (řekněme) proměnné smyčky, dočasné proměnné atd.
Je důležité si uvědomit, že export proměnné ji nezpřístupní nadřazeným procesům. To znamená, že zadáním a exportem proměnné v vytvořeném procesu nebude dostupná v procesu, který ji spustil.