如何修复OS X Lion上的terminal不加载〜/ .bashrc

每当我在terminal中使用Cmd + T打开一个新的选项卡时,它会在与前一个选项卡相同的目录中打开bash。 当我在~目录时,这工作正常,但如果我在其他地方,我得到一个错误加载.bashrc

 Last login: Sat Oct 15 21:10:00 on ttys002 -bash: .bashrc: No such file or directory Jakub-Arnolds-MacBook-Pro:projects darth$ 

它看起来像.bashrc加载通过相对而不是绝对path,因为如果我做source ~/.bashrc ,一切工作顺利。

加载的bashrc

我觉得这是一个OS X Lion相关的问题,因为在从Snow Leopard升级之前,我没有同样的问题。 但是,这可能是terminal总是在~打开引起的,我不记得它是否试图打开相同的目录。

然而,问题仍然是一样的,我怎样才能使terminal加载~/.bashrc通过绝对path,而不是相对?

terminal打开loginshell。 这意味着, ~/.bash_profile会被执行, ~/.bashrc不会。

大多数系统上的解决scheme是“require” ~/.bash_profile~/.bashrc :只需将这个代码片段放在~/.bash_profile

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

.bashrc重命名为.profile (或者将后者软链接到前者)也应该这样做。 看到这里 。

我在~/.bash_profile有以下内容:

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

如果我有.bashrc而不是~/.bashrc ,我会看到你看到的同样的症状。