Unset all local variables back to default on login:
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 命令清除了所有局部变量,但没有清除环境变量 .
Unset all environment variables back to default on login:
4 回答
因为原始问题没有提到变量是如何设置的,并且因为我到这个页面寻找这个特定的答案,所以我添加了以下内容:
在C shell(csh / tcsh)中,有两种方法可以设置环境变量:
set x = "something"
setenv x "something"
行为的不同之处在于,使用 setenv 命令设置的变量会自动导出到子shell,而使用 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-reference/0130200484/0130200484_ch18lev1sec24.html
在bash中创建和删除环境变量的演练:
Test if the DUALCASE variable exists:
It does not, so create the variable and export it:
Check if it is there:
It is there. So get rid of it:
Check if it's still there:
DUALCASE导出的环境变量将被删除 .
有助于清除本地和环境变量的额外命令:
Unset all local variables back to default on login:
exec bash
命令清除了所有局部变量,但没有清除环境变量 .Unset all environment variables back to default on login:
env -i bash
命令在登录时将所有环境变量清除为默认值 .unset
是您正在寻找的命令 .这也可行 .