如何修复终端没有在OS X Lion上加载〜/ .bashrc

时间:2011-10-15 19:15:16

标签: macos bash terminal osx-lion

每当我使用 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是通过相对而不是绝对路径加载的,因为如果我source ~/.bashrc,一切都会顺利进行。

loaded bashrc

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

但问题仍然相同,如何通过绝对路径使终端加载~/.bashrc,而不是相对?

3 个答案:

答案 0 :(得分:344)

终端打开登录shell。这意味着,~/.bash_profile将被执行,~/.bashrc不会。

大多数系统上的解决方案是“~/.bashrc中的~/.bash_profile:只需将此代码段放在~/.bash_profile中:

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

答案 1 :(得分:26)

.bashrc重命名为.profile(或将后者软连接到前者)也应该可以解决问题。请参阅here

答案 2 :(得分:13)

我的~/.bash_profile中有以下内容:

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

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