環境変数の設定(~/.bash_profile, ~/.bashrc)

~/.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」の場合

環境変数は現在のままで実行します。

わくわくBank.
フリーランスのエンジニアとして活動してます。ここでは、ソフトウェア開発で必要とされる技術、用語、概念を整理しています。