BASH: нужен ли "экспорт" при установке переменной в .bashrc?

Интересно, нужно ли использовать "экспорт" при установке переменной в .bashrc.

В моих тестах редактирования .bashrc не было никакой разницы между

foo=bar

и

export foo=bar

В обоих случаях после входа в систему "echo $foo" выводится "bar".

Я использую Debian Squeeze, если это имеет значение.

Спасибо, ребята, заранее.

Ответы

Ответ 1

Попробуйте создать оболочку script, которая обращается к переменной foo.

Если foo был export 'ed, он будет виден в оболочке script, иначе он не будет.

Ответ 2

SuperUser охватывает это.

Короткий ответ: export обеспечивает, чтобы переменная окружения была установлена ​​в дочерних процессах. Если вы не экспортируете, он доступен только в том же процессе/интерактивном сеансе.

Ответ 3

Это предпочтительнее, поскольку экспортированные переменные передаются дочерним процессам (программы, запущенные из этой оболочки). Без команды export эти переменные применяются только к самой оболочке, а не к запущенным из оболочки командам