如何使用源为整个会话重新加载 .profile 中的环境变量?

如何使用源为整个会话重新加载 .profile 中的环境变量?

因此,我需要在更改后重新加载我的个人资料(这次是因为输入错误)。我运行后source ~/.profile,一切正常。

但是该source命令仅适用于该终端会话。这意味着每次打开新终端时我都会运行该命令。我想找到一种方法,将.profile/environmental 变量应用于整个用户会话而无需注销,而不仅仅是当前终端。

是否有一个包或命令可以通过重新加载配置文件(就像在登录时加载一样)来执行这种类型的更改?

编辑: 为了澄清它不是重复的,我不想使用:

source ~/.profile

或者

. ~/.profile

因为它们只对一个终端会话产生影响。我想从我的用户会话对所有已启动的终端产生影响。我已经使用这些命令在当前终端会话中进行了更改。运行命令后,我需要在新打开的终端中使用它们(澄清一下,我目前没有)。这些更改仅影响当前终端我的问题是在多个终端上实现这些更改

答案1

你不能。环境变量保存在每个 shell 的每个进程内存中。其他进程(其他 shell,比如你想更改所有内容的 shell)无法访问此内存。也无法bash监听套接字以获取更新。

重读man bash,特别是该INVOCATION部分。

~/.profile更像是ksh启动文件。但是,您可以source $HOME/.profile~/.bashrc.

相关内容