geek.conf.2

あるインフラエンジニアの備忘録

bash起動時に実行されるファイル

bash起動時に実行されるファイルについてメモ。ややこしいので。。

ユーザがログインした場合、そのユーザのログインシェルが起動されます。
各ユーザのログインシェルは/etc/groupに記述されています。

そのユーザのログインシェルがbashの場合、

・まず/etc/profileを実行します。

・/etc/profileは/etc/profile.d以下のシェルスクリプトを実行します。

・次にそのユーザのホームディレクトリにある.bash_profileが実行されます。
 .bash_profileはログインシェル起動時のみ実行され、非ログインシェル起動時
 は実行されません。ここでややこしいね。

・.bash_profileは同じくそのユーザのホームディレクトリにある.bashrcを実行します。
 .bashrcはログインシェル起動時には.bash_profileが実行するし、非ログインシェル
 起動時にも実行されます。

・最後に.bashrcが/etc/bashrcを実行します。
 /etc/profileはログインシェルに対して全てのユーザ設定を反映し、
 /etc/bashrcはログインシェルと非ログインシェルに対して全てのユーザ設定を反映します。

おわり〜