@coffeMug может также превратить это в ответ, вы также можете рассмотреть возможность кражи некоторой информации отсюда: stackoverflow.com/a/12263914/1081936
terdon
в дополнение к принятому ответу, если есть команда, которую вы часто запускаете и которая использует переменную среды, которую вы не хотите устанавливать или изменять для остальной части сеанса оболочки, вы можете запустить ее следующим образом: $ ALL_PROXY=http://proxy.example.com:8080 yaourtона установит envvar только для команда запуска. Вы можете поместить столько FOO=bar BAZ=batпеременных, сколько хотите, до запуска команды.
только
Ответы:
113
Чтобы удалить переменную среды, запустите
unset ALL_PROXY
Обратите внимание, что переменная окружения вступает в силу только в программе и в программе, которую она запускает. Если вы установите переменную среды в одном окне оболочки, это не повлияет на другие окна оболочки.
Если вы добавили export ALL_PROXY=…файл инициализации, удалите его оттуда.
Вы можете запустить exportбез аргументов, чтобы увидеть, какие переменные среды установлены в текущей оболочке.
Помните, что для того, чтобы сделать переменную оболочки доступной для программ, запускаемых этой оболочкой, вы должны экспортировать ее, запустив export VARпосле присваивания VAR=VALUEили объединив two ( export VAR=VALUE).
Для сброса связанной переменной в bash используйте unset VARIABLE( unset ALL_PROXYв вашем случае). Эта команда фактически удаляет переменную. Вы также можете установить значение переменной, чтобы очистить с помощью
VARIABLE=
или же
VARIABLE=""
Разница в том, что две последние команды не удаляют переменную. Вы можете увидеть разницу, используя -uфлаг, setчтобы заставить необработанные переменные рассматривать как ошибку при замене:
В приведенном выше примере bash жалуется на varнесвязанность (после сброса его значения), что является ожидаемой ошибкой (обратите внимание, что это не происходит во второй команде echo, то varесть имеет значение, которое равно emptyили null).
unset ALL_PROXY
$ ALL_PROXY=http://proxy.example.com:8080 yaourt
она установит envvar только для команда запуска. Вы можете поместить столькоFOO=bar BAZ=bat
переменных, сколько хотите, до запуска команды.Ответы:
Чтобы удалить переменную среды, запустите
Обратите внимание, что переменная окружения вступает в силу только в программе и в программе, которую она запускает. Если вы установите переменную среды в одном окне оболочки, это не повлияет на другие окна оболочки.
Если вы добавили
export ALL_PROXY=…
файл инициализации, удалите его оттуда.Вы можете запустить
export
без аргументов, чтобы увидеть, какие переменные среды установлены в текущей оболочке.Помните, что для того, чтобы сделать переменную оболочки доступной для программ, запускаемых этой оболочкой, вы должны экспортировать ее, запустив
export VAR
после присваиванияVAR=VALUE
или объединив two (export VAR=VALUE
).источник
Для сброса связанной переменной в bash используйте
unset VARIABLE
(unset ALL_PROXY
в вашем случае). Эта команда фактически удаляет переменную. Вы также можете установить значение переменной, чтобы очистить с помощьюили же
Разница в том, что две последние команды не удаляют переменную. Вы можете увидеть разницу, используя
-u
флаг,set
чтобы заставить необработанные переменные рассматривать как ошибку при замене:В приведенном выше примере bash жалуется на
var
несвязанность (после сброса его значения), что является ожидаемой ошибкой (обратите внимание, что это не происходит во второй команде echo, тоvar
есть имеет значение, которое равноempty
илиnull
).источник
unset
в сценарии. То же самое относится.