Bashの環境設定ファイルについて

今さらだけど、bashの環境設定ファイル群がよくわからなかったので調べてみた。

スポンサーリンク

全ユーザ共通の設定ファイル

/etc/bash.bashrc

役割

※RedHat系だと /etc/bashrc らしい
bash起動時に実行させたい処理(aliasとか)を記述しておく

読み込み

bash起動時

/etc/profile

役割

環境変数とか関数を記述しておく。

読み込み

ログイン時

各ユーザの個別の設定ファイル

~/.bash_profile

役割

環境変数とか関数を記述しておく。

読み込み

ログイン時

~/.bash_login

~/.bash_profileがない時の次の候補。

~/.profile

~/.bash_loginがない時の次の候補。

~/.bashrc

役割

bash起動時に実行させたい処理(aliasとか)を記述しておく

読み込み

bash起動時

~/.bash_logout

役割

ログアウト時に実行させたい処理(画面のクリアとか)を記述しておく

読み込み

ログアウト時

設定ファイルの読み込みフロー

ログイン時

ログインシェル起動

/etc/profile 読み込み

/etc/bash.bashrc 読み込み

~/.bash_profile 読み込み ⇒ なければ ~/.bash_login ⇒ なければ ~/.profile

~/.bashrcを読み込む設定があれば ~/.bashrc 読み込み

/etc/bashrcを読み込む設定があれば、/etc/bashrc を読み込み

ログインシェルの起動完了

対話型シェル起動時

シェル起動

/etc/bash.bashrc読み込み

~/.bashrcを読み込み

/etc/bashrcを読み込む設定があれば /etc/bashrc を読み込み

対話型シェル起動完了

そこそこややこしい。

スポンサーリンク

フォローする