如何告诉GNU屏幕在每个新窗口中运行.bash_profile?


18

当我在GNU屏幕中打开一个新窗口时,它将运行,.bashrc但不会运行.bash_profile。在我的设置中,这导致某些环境变量未在该窗口中正确设置。

我如何告诉GNU屏幕始终运行.bash_profile而不是.bashrc打开新窗口?(请不要告诉我只打电话.bash_profile给我的电话.bashrc:)

Answers:


33

您想启动bash(或任何shell)作为登录shell。你这样做

shell -$SHELL

在你的~/.screenrc。魔术是-之前的外壳。有关man screenrc详细信息,请参见。(嗯,没有更多的细节了,因为仅此而已。)


1
当我这样做时,它将停止从我使用命令的目录开始的屏幕显示。如何让屏幕使用从中启动命令的目录作为其启动目录?
theonlygusti

我没有那个手册页!不过,在线文档在这里:gnu.org/software/screen/manual/screen.html#Shell。最初我很困惑,因为screenrc仅在重新创建屏幕时才重新读取-而不是每次您在应用程序中创建新窗口时
JonnyRaa

@theonlygusti对我来说,按照建议设置.screenrc时会保留工作目录。
Holger Brandl

2

您要么需要从中~/.bash_profile获取~/.bashrc所需~/.bashrc的东西,要么直接将您需要的东西放入其中,或者将它们放在第三个文件中,然后从您的~/.bashrc和中获取它们~/.bash_profile


在哪里找到这些?...因为这是问题所在(屏幕上没有任何信号源)
THESorcerer 2014年

@THESorcerer:在我的系统上,没有其他答案中所示命令的screen源。~/.bashrcshell
暂停,直到另行通知。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.