gpt4 book ai didi

linux - 如何让 GNU screen 读取 .bash_profile/.bash_rc 更改?

转载 作者:IT老高 更新时间:2023-10-28 12:38:53 25 4
gpt4 key购买 nike

.bash_rc.bash_profile 中进行更改后,当我启动 GNU screen 时,它无法识别这些更改。我可以

source ~/.bash_profile

它适用于我打开的当前 screen 窗口,但我必须对我打开的每个 screen 窗口都这样做。

如何在 screen 上读取我对 bash 配置的最新更改?

最佳答案

如果您希望 screen 始终将您的 shell 视为登录 shell,并获取正常启动新 shell 时将读取的相同文件,请将以下内容添加到 ~/.screenrc (或者可能是 ~/.byobu/.screenrc,正如评论中所指出的):

shell -$SHELL

这样,您无需在每次启动新 screen 时手动告诉它获取您的文件。如果您只是进行了更改并希望这些更改反射(reflect)在您当前的 screen 中,那么您将不得不这样做。

可以在 here 找到这方面的文档(以及许多其他 screen 细节) .基本上,shell 是一个 screen 命令,告诉它在需要创建新 shell 时运行以下命令。 $SHELL 是保存首选shell 路径的常用变量。 $SHELL 前面的破折号 - 表示它应该作为登录 shell 运行(这通常意味着它获取您的 ~/.bash_profile等)。

然而,值得指出的是,screen 默认只从您启动 screen 的 shell 继承大多数环境变量;登录子 shell 可能会以意想不到的方式改变一些环境变量。我遇到了一种情况,我的 $PATH 的元素基本上被置换了。感谢this particularly excellent answer,我解决了这个问题在 super 用户上。

您可能会注意到可用的 source 命令。需要注意的是,这会获取 screen 命令文件,而不是 shell 命令。其他相关( screen )命令包括 evalexec .

关于linux - 如何让 GNU screen 读取 .bash_profile/.bash_rc 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6945534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com