提问人:A. K. 提问时间:7/30/2011 最后编辑:Peter MortensenA. K. 更新时间:9/14/2023 访问量:1526178
如何删除导出的环境变量?
How do I delete an exported environment variable?
问:
在安装 gnuplot 之前,我设置了环境变量 。在安装过程中,出了点问题。GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
我想删除环境变量。我怎样才能实现它?GNUPLOT_DRIVER_DIR
答:
unset
是您要查找的命令。
unset GNUPLOT_DRIVER_DIR
评论
unexport
T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
declare +x MYVAR
export -n MYWAR
在 Bash 中创建和删除环境变量的演练:
测试 DUALCASE 变量是否存在(空输出):
env | grep DUALCASE
它没有,所以创建变量并导出它:
DUALCASE=1
export DUALCASE
检查它是否存在:
env | grep DUALCASE
输出:
DUALCASE=1
它就在那里。所以摆脱它:
unset DUALCASE
检查它是否仍然存在(空输出):
env | grep DUALCASE
删除 DUALCASE 导出的环境变量。
帮助清除本地变量和环境变量的额外命令:
在登录时将所有局部变量恢复为默认值:
CAN="chuck norris"
set | grep CAN
输出:
CAN='查克·诺里斯'
env | grep CAN # Empty output
exec bash
set | grep CAN
env | grep CAN # Empty output
exec bash
命令清除了所有局部变量,但未清除环境变量。
在登录时将所有环境变量恢复为默认值:
export DOGE="so wow"
env | grep DOGE
输出:
DOGE=太棒了
env -i bash
env | grep DOGE # Empty output
env -i bash
命令在登录时将所有环境变量清除为默认值。
评论
echo $VARIABLE
env | grep VARIABLE
env | VARIABLE
echo $VARIABLE
echo $VARIABLE
env -i bash
env | grep -e '^VARNAME='
这也可能有效。
export GNUPLOT_DRIVER_DIR=
评论
env
export PAGER=
unset PAGER
最初的问题没有提到变量是如何设置的,但是:
在 C shell (csh/tcsh) 中,有两种方法可以设置环境变量:
set x = "something"
setenv x "something"
行为的区别在于,使用 setenv 命令设置的变量会自动导出到子 shell,而使用 set 设置的变量则不会。
要取消设置带有 set 的变量集,请使用
unset x
要使用 setenv 取消设置变量集,请使用
unsetenv x
注意:在上述所有内容中,我假设变量名称为“x”。
学分:
评论
如上述答案所述,如果您曾经设置过变量,则应该可以工作。如果您已将其永久设置,或者只需将其从那里删除即可。unset GNUPLOT_DRIVER_DIR
export
~/.bashrc
~/.zshrc
在 Linux 和 macOS 上,您可以使用该命令删除环境变量。unset
unset GNUPLOT_DRIVER_DIR
永久删除变量,
在 Linux 中
您可以编辑 shell 配置文件,例如目录中的 或,并删除导出变量的行。.bashrc
.bash_profile
/etc/profile.d
.bashrc file:
nano ~/.bashrc
然后,搜索行导出并将其删除。然后保存文件。GNUPLOT_DRIVER_DIR
在 Windows 中
使用该命令删除环境变量。setx
setx GNUPLOT_DRIVER_DIR ""
您可以在以下链接中找到有关环境变量以及如何管理环境变量的详细信息:
评论
LINUX的
首先找到哪个脚本文件定义了变量并将其添加到环境中。
查看 /etc 文件,如 profile、bash.bashrc、.bashrc、.bashrc_login 等
并在用户的主目录中查找名称相似的文件。
如果它不在其中任何一个中,则它可能位于某个脚本文件中,该脚本文件是已安装包的一部分。例如,包 SDKMAN(用于管理备用 SDK 版本)创建一个名为 DERBY_HOME 的变量。若要查找创建它的脚本文件,请将以下搜索命令应用于 /etc 文件夹:
$ sudo egrep -lir THE_VAR_NAME /etc
这应该会产生一些输出,例如:
/etc/profile.d/jdk.sh
/etc/profile.d/jdk.csh
如果用户默认使用 C-shell 环境,则需要单独的文件 jdk.csh。
找到后,只需导航到包含脚本文件的文件夹,在本例中为 /etc/profile.d/,然后编辑文件(具有管理员权限),删除变量赋值并保存:
$ cd /etc/profile.d/
$ sudo gedit jdk.sh
$ sudo gedit jdk.sh
当然,在这种情况下,设置 env 变量的包正在使用中,所以我保留了它。
但是,如果该包未被使用,并且 env var 对启动过程无意义,则应将其删除。
窗户
使用此 YouTube 视频中显示的过程。
评论