CentOS7:bashの環境設定ファイルを理解する

bashの環境設定ファイルは、読み込まれるタイミングなどに応じて以下のようにいくつかありますが、いまいち自分の中で整理できないでいます。

そこで、ここで自分用としてまとめておきたいと思います。

タイミング 全ユーザー ユーザーごと
ログイン時 /etc/profile ① ~/.bash_profile ②
bash起動時 /etc/bashrc ④ ~/.bashrc ③
ログアウト時 - ~/.bash_logout

※丸付き数字は読み込み順です。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

環境設定ファイルの概要

 /etc/profile

ログイン時に読み込む全ユーザ共通の設定を記述します。

「/etc/profile.d」ディレクトリ配下のスクリプトファイルを読み込むよう書かれています。

~/.bash_profile

ユーザーログイン時に一回だけ読み込む設定を記述します。

「~/.bashrc」があれば、読み込むように書かれています。

~/.bashrc

対話シェル起動時に読み込む設定を記述します。

ユーザー用の設定はこのファイルに記述するのが良さそうです。
「/etc/bashrc」があれば読み込むように書かれています。

参考:「.bash_profileと.bashrcなんて使い分けなくてよかったんや!」

/etc/bashrc

システム全体の関数とエイリアスに関する設定を記述します。

デフォルトプロンプト「PS1」の設定などが書かれています。

~/.bash_logout

ログアウト時に読み込まれる設定を記述します。

CentOS7では、なにも記述されていないようです。

まとめ

とりあえず、大まかには整理できた感じです。理解が深まれば随時更新したいと思います。

スポンサーリンク