Как удалить экспортированную переменную среды? - PullRequest
1364 голосов
/ 29 июля 2011

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

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

Ответы [ 4 ]

2186 голосов
/ 29 июля 2011

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

unset GNUPLOT_DRIVER_DIR
156 голосов
/ 04 июня 2014

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

Проверка наличия переменной DUALCASE:

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

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

el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE

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

el@apollo:~$ env | grep DUALCASE
DUALCASE=1

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

el@apollo:~$ unset DUALCASE

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

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

Удалена переменная среды DUALCASE, экспортированная.

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

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

el@apollo:~$ CAN="chuck norris"
el@apollo:~$ set | grep CAN
CAN='chuck norris'
el@apollo:~$ env | grep CAN
el@apollo:~$
el@apollo:~$ exec bash
el@apollo:~$ set | grep CAN
el@apollo:~$ env | grep CAN
el@apollo:~$

exec bash команда очищенавсе локальные переменные, но не переменные окружения.

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

el@apollo:~$ export DOGE="so wow"
el@apollo:~$ env | grep DOGE
DOGE=so wow
el@apollo:~$ env -i bash
el@apollo:~$ env | grep DOGE
el@apollo:~$

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

5 голосов
/ 14 ноября 2018

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

в оболочке C (csh / tcsh) существует два способа задания переменной среды:

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

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

Для сброса набора переменных с помощью 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/library/view/solaristm-7-reference/0130200484/0130200484_ch18lev1sec24.html

4 голосов
/ 20 декабря 2017

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

export GNUPLOT_DRIVER_DIR=
...