BASH: нужен ли «экспорт» при установке переменной в .bashrc? - PullRequest
14 голосов
/ 09 июня 2011

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

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

foo=bar

и

export foo=bar

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

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

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

Ответы [ 3 ]

11 голосов
/ 09 июня 2011

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

Если foo был export ', он будет виден в сценарии оболочки, в противном случае он не будет.

10 голосов
/ 09 июня 2011

SuperUser имеет это .

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

5 голосов
/ 09 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...