ターミナルがOS X Lionで〜/ .bashrcをロードしないように修正する方法[終了]


176

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ます。そうすると、すべてがスムーズに機能するからです。

ロードされたbashrc

これはOS X Lion関連の問題だと思います。SnowLeopardからのアップグレード前は、同じ問題はありませんでした。しかし、ターミナルが常にで開いていることが原因である可能性があります~。同じディレクトリを開こうとしたかどうかは覚えていません。

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


1
この質問は閉じないでください。可能であれば、apple.SEに移動してください。
Sparr 2014

@Sparr私はあなたに完全に同意しますが、モデレーターは古い質問ではなく新しい質問のみを移動します。議論を参照してくださいここに
рüффп

回答:


357

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

ほとんどのシステム上の解決策は、「必要」することである~/.bashrc~/.bash_profileちょうどあなたにこのスニペットを置きます:~/.bash_profile

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

8
誰かが何をし[[ -s /file/path ]]ているのか説明できますか?説明のためにグーグルにしようとすることはそれほど簡単ではありません。
シェーン

18
From man bash:-s file fileが存在し、サイズがゼロより大きい場合は真。
ckruse 2013年

1
「ターミナルがログインシェルを開く」-他のタイプのosシェルは何ですか?それに関するドキュメントはどこにありますか?
dknight 2013

4
いわゆる「インタラクティブシェル」と「ログインシェル」があります。あなたのbashマニュアル(man bash)がそれについて話し、それを説明しています。INVOCATIONの章(と入力しINVOCATIONて呼び出しman bashた後で検索してください/INVOCATION
ckruse

3
コードの実行状況に関連する質問が、コード行によって解決され、プログラミングの質問サイトに「オフトピック」であることがわかりません。
Kheldar 14

26

名前.bashrcを変更する.profile(または後者を前者にソフトリンクする)ことも、このトリックを実行するはずです。こちらをご覧ください


または、それらをシンボリックリンクすることもできます。cd && ln -s ./.bashrc ./.profileシンボリックリンクはファイルパスに関して敏感であることに注意してください。上記の構文を使用するとうまくいくと思いますが、必ず絶対パスを使用できます。
スティーブベナー2014

1
えっ?これらのファイルには異なる目的があります。あなたがBash構文を持っているなら、.profileあなたは規則を破るでしょうsh
tripleee 2016年

14

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

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

.bashrc代わりに私が持っていた場合~/.bashrc、私はあなたが見ているのと同じ症状を見ています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.