.bash_profileと.bashrc

937 ワード

Linux/Macシステムで環境変数を設定したとき、どのファイル(.bash_profile?.bashrc?その他)に設定するか迷ったことはありますか?

まず、login shell、non-login shellを区別します。


login shell:consoleでユーザー名/パスワードのログイン(ローカルログインでもリモートログインでも)を行う場合.bash_profileはプロンプトが表示される前に実行されます.
non-login shell:システムにログインし、KDE、Gnomeなどの可視化インタフェースの下で新しいコマンドウィンドウ(xterm)を開いたとき、.bashrc  ( /bin/bash) 。 

彼らの間にはどんな違いがあるのか。

, , , 。
 

Mac osは例外です


Mac OS X(最新のシステムは後で試しますが、これは私が文章を探していたときに通りかかったノートです)のTerminal.appは、デスクトップ端末を開くたびにlogin shellを実行する結合体を実行する.ちなみに、他のシミュレーション端末もそうする可能性がありますが、ほとんどはしません.
 

推奨


以下を追加します.bash_プロファイルファイル:
if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

そしてconsoleからログインするたびに正常に呼び出されます.bashrc
 
参考記事:http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html