Как мне установить переменные окружения bash из скрипта? - PullRequest
13 голосов
/ 17 июня 2010

У меня есть некоторые настройки прокси, которые я хочу включить только изредка, поэтому я не хочу помещать их в мой ~/.bash_profile. Я попытался поместить их непосредственно в ~/bin/set_proxy_env.sh, добавив ~/bin к моему PATH и chmod +x в сценарии, но, хотя сценарий выполняется, переменные не прилипают к моей оболочке. Кто-нибудь знает, как заставить их держаться до конца сеанса оболочки?

Ответы [ 3 ]

19 голосов
/ 17 июня 2010

Используйте одно из:

source <file>

. <file>
14 голосов
/ 17 июня 2010

В скрипте используйте

export varname=value

, а также выполнить скрипт с:

source set_proxy_env.sh.

Ключевое слово export гарантирует, что переменная помечена для автоматического включения в среду выполняемых впоследствии команд. Использование source для выполнения скрипта запускает его с текущей оболочкой вместо запуска временной для скрипта.

4 голосов
/ 17 июня 2010

Вы пробовали это:

. ~/bin/set_proxy_env.sh

Запуск его сам по себе открывает отдельный подоболочек (я думаю) и устанавливает переменную там.Но затем привязка теряется после выхода обратно в вашу оболочку.Точка на передней панели указывает ему запускать его в той же оболочке.

Кроме того, не забудьте export переменные, которые вам нужны, например: export MYVAR=value

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