环境变量未正确重新加载

Environmental variables are not reloading properly

我真不知道怎么会这样。因此,假设我将以下行添加到我的 ~/.bashrc 文件中:export asd='asd'

如果我现在保存并重新加载终端:exec bash 并检查该值,它存在:

$ echo $asd
asd

一切都很好,但当我删除这个值时,当我删除行 export asd='asd' 并创建一个新的 bash 实例时,该值仍然存在。

我可以修改值就好了..

全局变量传递给子进程。

[~] export asd='Hello World'
[~] sh
@sh-5.1$ echo $asd
Hello World

如果您从 bashrc 中删除该命令并不重要,只要它已在您的环境中设置,而是您需要先删除该全局变量。您可以使用活动 bash-session 的 envprintenv 列出所有活动的全局变量。

[~] export asd='Hello World'
[~] env | grep asd
asd=Hello World
[~] unset asd
[~] sh
@sh-5.1$ echo $asd

或者,您可以启动一个新的 shell,而无需从之前的 shell 调用它。这样,它只会读取您的配置文件和 bashrc,而不会传输您正在使用的 (sub)shell 的任何 created/active 环境变量。