可能性のある重複:
構成を.bashrc対に入れるべきとき。.bash_profile?
Linux envでの作業に関してはn00bで.bashrc、and の目的を知りたい.bash_profileです。それらが各ユーザーアカウントに固有であることだけを知っています。これらのファイルに何かを実装することで追加/変更できる機能/動作
man bashのセクションINVOCATION(私にとっては段落4と6)で徹底的に説明されています。
可能性のある重複:
構成を.bashrc対に入れるべきとき。.bash_profile?
Linux envでの作業に関してはn00bで.bashrc、and の目的を知りたい.bash_profileです。それらが各ユーザーアカウントに固有であることだけを知っています。これらのファイルに何かを実装することで追加/変更できる機能/動作
man bashのセクションINVOCATION(私にとっては段落4と6)で徹底的に説明されています。
回答:
まず、.bash_profileログインbashシェルにのみ使用されます。 .bashrc他のすべてのbashシェルに使用されます。したがって、.bash_profile通常は.bashrc存在する場合はソースになるため、ログインシェルであるかどうかにかかわらず、すべてのシェルで実行するコマンドを複製する必要はありません。
一般的に、これらのスクリプトで行うことは2つあります。プログラムを実行し、環境変数を設定します。ログイン時に実行したいもの、を入れたもの.bash_profile、すべてのシェルに設定したいもの(例えば、screenターミナルを使用するか開いている場合)を入れます.bashrc。
私自身のもの.bashrc(例として):
$PS1shopt私から.bash_profile:
.bashrc$PATHssh-agent.bash_profileは、bashシェルに直接ログインしている場合にのみ実行されることに注意することが重要です。Xセッションを開始している場合、独自のログインスクリプト(通常は次のようなもの.xsession)を持つXサーバーにログインしています。
Bashマニュアルの「Bash Startup Files」というタイトルのセクションですべて説明されています:http : //www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files
更新:ショートバージョンは次のとおりです。
Bashが対話型ログインシェルとして、または--loginオプション付きの非対話型シェルとして呼び出されると、/etc/profileそのファイルが存在する場合、まずfileからコマンドを読み取って実行します。そのファイルを読んだ後、それは探し~/.bash_profile、~/.bash_login、および~/.profile、そのためには、および読み込み、存在し、読み取り可能である最初のものからのコマンドを実行します。
ログインシェルではないインタラクティブシェルが起動されると、Bashは~/.bashrcそのファイルが存在する場合、からコマンドを読み取り、実行します。
Bashを非対話形式で起動すると、たとえばシェルスクリプトを実行するためBASH_ENVに、環境内の変数を探し、そこに値がある場合はその値を展開し、展開した値を読み取りおよび実行するファイルの名前として使用します。
man bash。私はそれがたくさんのテキストであることを知っていますが、それは価値があります。