bash 初期化ファイルの読み込まれる順番と、使い分けを調べてみた
ログインシェルをbashにしている場合、ログイン時以下の順番で設定ファイルが読み込まれ、
PATHを通す、エイリアスを定義する、プログラムを実行するなどの設定が自動で設定される。
■全ユーザに適用される
1./etc/profile ※
全ユーザーに適用されるデフォルトの設定ファイル。
ユーザー単位では編集しない。
■以下、ユーザ単位で適用される
2.~/bash_profile ※
存在していれば読込まれる設定ファイル。
ログイン時に一度設定すればいいもの。余計なものは極力書かない
bashでしか使わないものを記述する
環境変数を設定する (export する変数)
3. ~/.bash_login
~/.bash_profileが存在しない場合にのみ、存在していれば読込まれる設定ファイル。
4.~/.profile
.bash_profile ・ ~/.bash_loginが存在しない場合にのみ、存在していれば読み込まれる設定ファイル
シェルの種類に依存しないものを記述する
環境変数を設定する (export する変数)
GUIアプリで使うものやbin/shで使うものはここに置く(必須)
ログインシェルで使うものはここに置くべき
5.~/.bashrc ※
対話モードで使うものはすべてここに書く
対話モードの bash を起動する時に毎回実行される
bashを起動するたびに設定する必要のあるもの
*標準出力・エラー出力に出力が出るものを書いてはいけない。
bashでしか使わないものを記述する
環境変数でない変数を設定する (export しない変数)
エイリアスを定義する
シェル関数を定義する
コマンドライン補完の設定をする
*環境変数を記述すると、ターミナル以外から起動するプログラム(GUI起動など)に環境変数が渡らなくなってしまう
とりあえず※がついているファイルを設定しておけば良さそう