起動時のbashファイルの読み込み順
Ubuntu起動時に、~/.bashrc
が読み込まれるため、カスタマイズしたい場合は、基本的に、~/.bashrc
を触ればいいことになる。
環境変数を追加したい場合は、~/.bashrc
に書いてもいのだが、~/.profile
に書くのが慣例となっているので、~/.profile
に書くことになる。個人の環境であれば、どこに書いてもいいだろうが。
~/.profile
の中身を見ると分かるのだが、~/.bashrc
は、~/.profile
の中から読み込まれている。
そして~/.profile
は、/etc/profile
から読み込まれる。これのファイルが存在している場所は、ホームディレクトリではないので、ログインした全ユーザーに対して、共通で実行されることになる。一番最初に、読み込まれるファイルがこれになる。
/etc/profile
から読み込まれるファイルは、~/.profile
だけでなく、読み込まれる順番がある。その順番が、
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
上記3ファイルのうち、1つしか存在してはいけないことになる。Debian系には、~/.profile
しか存在していないが、RedHat系には、~/.bash_profile
が存在している。~/.bash_login
はどうでもいいだろう。
/etc/profile
のどこから、~/.profile
を読み込んでいるのか、確認が取れなかった。ファイルの中身を見ると、/etc/bash.bashrc
を読み込んでいのは分かる。これも全ユーザー共通で実行される。
そして、次に、/etc/profile.d
配下にある、拡張子がshになっているファイルをfor文で回して全て
読んでいる。ls -l /etc/profile.d
で中身を見ると、複雑な名前のスクリプトファイルが、6個程存在している。このファイルの中で何をやっているかはぱっと見は複雑だ。この6ファイル全て実行されていることになる。流したいスクリプトファイルを追加したい場合は、/etc/profile
を触らなくても、このディレクトリ配下に新規ファイルをおくだけで、自動で流してくれることになる。