web-dev-qa-db-ja.com

OS X Lionでターミナルが〜/ .bashrcをロードしない問題を修正する方法

ターミナルで新しいタブを開くたびに 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に関連した問題だと思います。SnowLeopardからアップグレードする前は、同じ問題はなかったからです。しかし、それはTerminalが常に~で開くことによって引き起こされる可能性があり、同じディレクトリを開こうとしたかどうかは覚えていません。

ただし、質問は同じままです。どうすれば相対ではなく絶対パスでターミナルを~/.bashrcにロードできますか?

172
Jakub Arnold

ターミナルはログインシェルを開きます。つまり、~/.bash_profileは実行されますが、~/.bashrcは実行されません。

ほとんどのシステムでの解決策は、~/.bashrc~/.bash_profileを「必要」にすることです。このスニペットを~/.bash_profileに入れるだけです:

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

.bashrcの名前を.profileに変更する(または後者を前者にソフトリンクする)こともうまくいくはずです。 here を参照してください。

26
scorpiodawg

~/.bash_profileに次のものがあります。

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

.bashrcの代わりに~/.bashrcがあった場合、あなたが見ているのと同じ症状が見られるでしょう。

13
Keith Thompson