如何删除导出的环境变量?

时间:2011-07-29 18:58:28

标签: linux environment-variables unset

在安装gnuplot之前,我设置了环境变量GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src。在安装过程中出现了问题。

我想删除GNUPLOT_DRIVER_DIR环境变量。我怎样才能实现它?

5 个答案:

答案 0 :(得分:2153)

unset是您正在寻找的命令。

unset GNUPLOT_DRIVER_DIR

答案 1 :(得分:154)

在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命令在登录时将所有环境变量清除为默认值。

答案 2 :(得分:5)

因为最初的问题没有提及变量的设置方式, 并且由于我已进入此页面寻找此特定答案,因此添加了以下内容:

在C shell(csh / tcsh)中,有两种设置环境变量的方法:

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

行为上的差异在于,使用 setenv 命令设置的变量会自动导出到子shell,而使用 set < / strong>不是。

要使用 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

答案 3 :(得分:4)

这也可行。

export GNUPLOT_DRIVER_DIR=

答案 4 :(得分:2)

如以上答案中所述,如果您使用unset GNUPLOT_DRIVER_DIR来设置变量,那么export应该可以工作。如果您将其永久设置在~/.bashrc~/.zshrc中,则只需将其从那里删除即可。