Перед установкой gnuplot я установил переменную окружения GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Во время установки что-то пошло не так.
Я хочу удалить GNUPLOT_DRIVER_DIR
переменную среды. Как мне этого добиться?
linux
environment-variables
unset
Аляска
источник
источник
Ответы:
unset
это команда, которую вы ищете.источник
unexport
сделатьT="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
?declare +x MYVAR
чтобы удалить экспорт, но сохранить значение в текущей оболочке.export -n MYWAR
работает в Bash.Пошаговое руководство по созданию и удалению переменной среды в bash:
Проверьте, существует ли переменная DUALCASE:
Это не так, поэтому создайте переменную и экспортируйте ее:
Проверьте, если это там:
Это там. Так что избавься от этого
Проверьте, все ли еще там:
Экспортированная переменная среды DUALCASE удалена.
Дополнительные команды, помогающие очистить локальные переменные и переменные среды:
Сбросить все локальные переменные обратно по умолчанию при входе в систему:
exec bash
Команда очистила все локальные переменные, но не переменные окружения.Сбросить все переменные окружения обратно по умолчанию при входе в систему:
env -i bash
Команда очистила все переменные среды по умолчанию при входе в систему.источник
echo $VARIABLE
лучше, чемenv | grep VARIABLE
легче, так как не нужно печатать все переменные, а затем отправлять свой вывод другому (grep) процессу. Кроме того,env | VARIABLE
может поймать более одной переменной, которая соответствует одному и тому же шаблону. Plus2,echo $VARIABLE
позволяет завершить имя переменной, нажав <Tab> (если она существует, это также может быть подсказкой к тому, что вы хотите сделать).echo $VARIABLE
не сообщает вам, является ли VARIABLE переменной оболочки (здесь называемой «локальная переменная») или переменной окружения, что и составляет весь смысл прохождения.env -i bash
создается впечатление, что создается подоболочка (по крайней мере, на Mac), которая может иметь непредвиденные последствия.env | grep -e '^VARNAME='
.Поскольку в первоначальном вопросе не упоминается, как была установлена переменная, и поскольку я попал на эту страницу в поисках конкретного ответа, я добавляю следующее:
В оболочке C (csh / tcsh) есть два способа установить переменную окружения:
set x = "something"
setenv x "something"
Различие в поведении состоит в том, что переменные, установленные с помощью команды setenv , автоматически экспортируются в subshell, а переменные, установленные с помощью set, - нет.
Чтобы сбросить набор переменных с помощью set , используйте
Чтобы сбросить набор переменных с помощью setenv , используйте
Примечание: во всем вышесказанном я предполагаю, что имя переменной - «x».
кредиты:
https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- ссылка / 0130200484 / 0130200484_ch18lev1sec24.html
источник
это может также работать.
источник
env
команды. Может случиться так, что приложение, которое использует переменную, не различает несуществующую и пустую переменную среды.export PAGER=
, но это просто полностью отключило пейджинг - все мои справочные страницы просто сбрасывались прямо в терминал.unset PAGER
сделал свое дело, вернув его к поведению по умолчанию.Как уже упоминалось в ответах выше,
unset GNUPLOT_DRIVER_DIR
должно работать, если вы использовалиexport
для установки переменной. Если вы установили его навсегда~/.bashrc
или~/.zshrc
просто удалите его оттуда, будет работать.источник