Linuxで一般的なシェル「bash」には、環境変数やエイリアスなどを定義するための環境設定ファイルが用意されていますが、読み込まれるタイミングや適用されるユーザーに応じて、どのファイルに記述するのかが決まっています。
そこでここでは、bashで利用される環境設定ファイルの種類と用途、読み込み順を解説します。
目次
/etc/profile
ログイン時に読み込む全ユーザ共通の設定を記述します。
「/etc/profile.d」ディレクトリ配下のスクリプトファイルを読み込むよう書かれています。
~/.bash_profile
ユーザーログイン時に一回だけ読み込む設定を記述します。
「~/.bashrc」があれば、読み込むように書かれています。
~/.bashrc
対話シェル起動時に読み込む設定を記述し、ユーザー用の設定はこのファイルに記述するとよいでしょう。
「/etc/bashrc」があれば読み込むように書かれています。
参考:「.bash_profileと.bashrcなんて使い分けなくてよかったんや!」
/etc/bashrc
システム全体の関数とエイリアスに関する設定を記述します。
デフォルトプロンプト「PS1」の設定などが書かれています。
~/.bash_logout
ログアウト時に読み込まれる設定を記述します。
CentOS 7では、なにも記述されていないようです。
あとがき
読み込み順や対象ユーザーをまとめると、以下のようになります。
タイミング | 全ユーザー | ユーザーごと |
---|---|---|
ログイン時 | /etc/profile ① | ~/.bash_profile ② |
bash起動時 | /etc/bashrc ④ | ~/.bashrc ③ |
ログアウト時 | - | ~/.bash_logout |
※丸付き数字は読み込み順です。