シェルにbashを利用している場合、~/.bash_profile
~/.bashrc
などログイン時に読み込まれる設定ファイルがいくつか存在します。
それぞれどのタイミングで呼ばれるのか解説します。また su
sudo
コマンドを利用する際に、環境変数で気をつけるべき点について解説します。
目次
ログイン時に読み込まれる設定ファイル
読込順 | ファイル | 概要 |
---|---|---|
1 | /etc/profile | システムの全ユーザーに適用されます。 |
2 | ~/.bash_profile ~/.bash_login ~/.profile | 上のファイルがなければ下のファイルを読み込みます。 ログイン時のみ読み込ませたい設定を記述します。 |
3 | ~/.bashrc | bash起動の度に読み込ませたい設定を記述します。 |
4 | /etc/bashrc | システム全体の関数、エイリアスの設定が記述されています。 |
ログアウント時には ~/.bash_logout
を読み込みます。
また、関連してよく扱うファイルに /etc/rc.local
があります。起動時に自動的に実行したいプログラムなど記述します。
設定内容をすぐに反映したい場合
.bash_profile
などに記述した設定は、再ログインすれば反映されます。
すぐに反映したい場合は、以下のようにコマンドを実行します。
source ~/.bash_profile
「su」と「su -」の違いに注意
suコマンドを利用する際、ハイフンオプションの有無で環境変数の挙動が異なるので注意します。
「su」の場合
環境変数は現在のままログインします。
「su -」の場合
rootユーザの環境変数でログインします。
「sudo」と「sudo -E」の違いに注意
「sudo」の場合
rootユーザの環境変数で実行します。
「sudo -E」の場合
環境変数は現在のままで実行します。