Linux中的取消设置命令不会清除变量

Posted

技术标签:

【中文标题】Linux中的取消设置命令不会清除变量【英文标题】:Unset Command in Linux does not clear the Variable 【发布时间】:2021-01-13 07:18:42 【问题描述】:

我正在尝试在 Linux 中取消设置变量,但 unset 命令不起作用。

[jisip@slc10xxx plsql]$ echo $PERL5LIB
/net/slcnasxxx.in.ecalor.com/export/xxx/bin
[jisip@slc10xxx plsql]$ unset PERL5LIB
[jisip@slc10xxx plsql]$ echo $PERL5LIB
/net/slcnasxxx.in.ecalor.com/export/xxx/bin

有什么想法或替代方案吗?

【问题讨论】:

您是在同一个子shell 中执行此操作吗? PROMPT_COMMAND的帖子内容。 如果你这样做PERL5LIB=''或PERL5LIB=,这也会清除变量的内容!我的方法对你有用吗? 无法在 bash 中重现此内容。未设置工作正常 【参考方案1】:

我能够通过使用 unsetenv 而不是 unset 来解决此问题。

[jisip@slc10xxx plsql]$ unsetenv PERL5LIB
[jisip@slc10xxx plsql]$ echo $PERL5LIB                                                                                                                                                                   
PERL5LIB: Undefined variable.
[jisip@slc10xxx plsql]$ 

希望对您有所帮助!

【讨论】:

您使用的是哪个 shell:csh、bash 等? @TimurShtatland csh

以上是关于Linux中的取消设置命令不会清除变量的主要内容,如果未能解决你的问题,请参考以下文章

linux命令行设置别名

linux下history那个命令所记录的命令是不是会自动清除

如何取消设置鱼壳中的变量?

为啥不会/如何对 PHP 会话变量进行排序而不是取消设置

取消设置单个命令的环境变量

Linux怎么设置系统环境变量之export命令详解