У меня есть некоторые настройки прокси, которые я только время от времени хочу включить, поэтому я не хочу помещать их в свой ~/.bash_profile
. Я попытался поместить их непосредственно в ~/bin/set_proxy_env.sh
, добавив ~/bin
к моим PATH
и chmod +x
с помощью script, но, несмотря на то, что script работает, переменные не попадают в мою оболочку. Кто-нибудь знает, как заставить их придерживаться остальной части сеанса оболочки?
Как установить переменные среды bash из script?
Ответ 1
Используйте один из:
source <file>
. <file>
Ответ 2
В script используйте
export varname=value
а также выполните script с помощью:
source set_proxy_env.sh
.
Ключевое слово export
гарантирует, что переменная отмечена для автоматического включения в среду последующих команд. Использование source
для выполнения script запускает его с текущей оболочкой вместо запуска временного для script.
Ответ 3
Вы пробовали это:
. ~/bin/set_proxy_env.sh
Запуск сам по себе открывает отдельную подоболочку (я думаю) и устанавливает там переменную. Но тогда привязка теряется после выхода обратно в вашу оболочку. Точка впереди говорит ему, чтобы она запускала ее в той же оболочке.
Кроме того, не забывайте export
переменные, которые вам нужны: export MYVAR=value