因此,我需要在更改后重新加载我的个人资料(这次是因为输入错误)。我运行后source ~/.profile
,一切正常。
但是该source
命令仅适用于该终端会话。这意味着每次打开新终端时我都会运行该命令。我想找到一种方法,将.profile
/environmental 变量应用于整个用户会话而无需注销,而不仅仅是当前终端。
是否有一个包或命令可以通过重新加载配置文件(就像在登录时加载一样)来执行这种类型的更改?
编辑: 为了澄清它不是重复的,我不想使用:
source ~/.profile
或者
. ~/.profile
因为它们只对一个终端会话产生影响。我想从我的用户会话对所有已启动的终端产生影响。我已经使用这些命令在当前终端会话中进行了更改。运行命令后,我需要在新打开的终端中使用它们(澄清一下,我目前没有)。这些更改仅影响当前终端我的问题是在多个终端上实现这些更改
答案1
你不能。环境变量保存在每个 shell 的每个进程内存中。其他进程(其他 shell,比如你想更改所有内容的 shell)无法访问此内存。也无法bash
监听套接字以获取更新。
重读man bash
,特别是该INVOCATION
部分。
~/.profile
更像是ksh
启动文件。但是,您可以source $HOME/.profile
将~/.bashrc
.