it-swarm.com.ru

Как удалить экспортированную переменную среды?

Перед установкой gnuplot я установил переменную окружения GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src. Во время установки что-то пошло не так.

Я хочу удалить переменную среды GNUPLOT_DRIVER_DIR. Как мне этого добиться?

1352
A. K.

unset - это команда, которую вы ищете.

unset GNUPLOT_DRIVER_DIR
2161
Peder Klingenberg

Пошаговое руководство по созданию и удалению переменной среды в bash:

Проверьте, существует ли переменная DUALCASE:

[email protected]:~$ env | grep DUALCASE
[email protected]:~$ 

Это не так, поэтому создайте переменную и экспортируйте ее:

[email protected]:~$ DUALCASE=1
[email protected]:~$ export DUALCASE

Проверьте, если это там:

[email protected]:~$ env | grep DUALCASE
DUALCASE=1

Он есть. Так что избавься от него:

[email protected]:~$ unset DUALCASE

Проверьте, все ли еще там:

[email protected]:~$ env | grep DUALCASE
[email protected]:~$ 

Экспортированная переменная окружения DUALCASE удалена.

Дополнительные команды, помогающие очистить локальные переменные и переменные среды:

Сбросить все локальные переменные обратно по умолчанию при входе в систему:

[email protected]:~$ CAN="chuck norris"
[email protected]:~$ set | grep CAN
CAN='chuck norris'
[email protected]:~$ env | grep CAN
[email protected]:~$
[email protected]:~$ exec bash
[email protected]:~$ set | grep CAN
[email protected]:~$ env | grep CAN
[email protected]:~$

Команда exec bash очистила все локальные переменные, но не переменные среды.

Сбросить все переменные среды обратно по умолчанию при входе в систему:

[email protected]:~$ export DOGE="so wow"
[email protected]:~$ env | grep DOGE
DOGE=so wow
[email protected]:~$ env -i bash
[email protected]:~$ env | grep DOGE
[email protected]:~$

Команда env -i bash очистила все переменные среды по умолчанию при входе в систему.

154
Eric Leschinski

Поскольку в исходном вопросе не упоминается, как была установлена ​​переменная, и поскольку я попал на эту страницу в поисках конкретного ответа, я добавляю следующее:

В C Shell (csh/tcsh) есть два способа установить переменную окружения:

  1. set x = "something"
  2. setenv x "something"

Разница в поведении заключается в том, что переменные, установленные с помощью команды setenv , автоматически экспортируются в subshell, а набор переменных с установленным нет.

Чтобы сбросить набор переменных с помощью set , используйте

unset x

Чтобы сбросить набор переменных с помощью setenv , используйте

unsetenv x

Примечание: во всем вышесказанном я предполагаю, что имя переменной - "x".

кредиты:

https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-Shell-variable/https: //www.oreilly .com/библиотека/просмотр/SolarisTM-7-справочник/0130200484/0130200484_ch18lev1sec24.html

5
G Eitan

это тоже может сработать.

export GNUPLOT_DRIVER_DIR=
4
Nilesh K.