每当我使用 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
,一切都会顺利进行。
我认为这是与OS X Lion相关的问题,因为在从Snow Leopard升级之前,我没有遇到同样的问题。但这可能是因为终端总是在~
开放,我不记得它是否试图打开同一个目录。
但问题仍然相同,如何通过绝对路径使终端加载~/.bashrc
,而不是相对?
答案 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
,我会看到你看到的相同症状。