Как я устанавливаю переменные среды удара из сценария?

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

15
задан James A. Rosen 17 June 2010 в 19:44
поделиться

3 ответа

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

source <file>

. <file>
20
ответ дан 1 December 2019 в 00:59
поделиться

В сценарии используйте

export varname = value

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

source set_proxy_env.sh .

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

16
ответ дан 1 December 2019 в 00:59
поделиться

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

. ~ / bin / set_proxy_env.sh

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

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

4
ответ дан 1 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: