如何强制Gnu屏幕加载我的bash .profile


18

我有〜/ .bash_profile,每次创建一个新的GNU屏幕时,我都希望调用它,以便我所有的别名在终端中都可以在GNU屏幕中使用。

这就是我的〜/ .screenrc的样子。

hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "

1
我通过将〜/ .bash_profile的所有内容移动到〜/ .bashrc解决了这个问题。显然,屏幕在每个窗口之前调用〜/ .bashrc。
纳达尔

Answers:


30

shell -$SHELL

将以上行添加到您的~/.screenrc,这将使用登录外壳启动屏幕启动,该外壳会加载您的~/.bash_profile


这将停止从当前目录开始的屏幕。如何在当前目录中启动屏幕?
theonlygusti

2

一些Mac应用程序依赖.bash_profile,而另一些依赖.bashrc。我还没有找出任何特定的规则来知道哪个正在加载,但是为了保持一致性,这是我的.bash_profile:

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

0

这个问题有点模糊。外壳启动文件在创建Windows时通过屏幕运行,不会让您感觉.bashrc或.bash_profile中的配置错误。我还没有在OS X上使用此屏幕遇到此问题。

您是否尝试过iTerm而不是屏幕?我只在Mac上使用它,然后在我管理的服务器上使用屏幕。


0

我通过将〜/ .bash_profile的所有内容移动到〜/ .bashrc解决了这个问题。显然,屏幕在每个窗口之前调用〜/ .bashrc。–纳达尔10年5月6日在21:22

此评论是正确的答案。


0

我添加了一个.bashrc文件,其中仅包含:

[[ -s ~/.bash_profile ]] && source ~/.bash_profile

这样,任何程序(例如,寻找.bashrc的GNU屏幕)都将找到它,并提供我的.bash_profile。

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.