LoginSignup
51
54

More than 5 years have passed since last update.

bashrcとbash_profile

Posted at

ホームディレクトリに「.bashrc」や「.bash_profile」というファイルがあるが、、これは何?

と疑問を持った。
一言で、シェルが起動するときに実行される初期化ファイル。

シェルの役割として大きく二つ

  1. ユーザーがコマンドを実行するためのコマンドライン環境を提供。ユーザーとOSの中枢であるカーネルとのインタフェースの役割を果たすこと。
  2. ユーザーがログインを行った際に、環境を整えるためにさまざまなファイルを実行し、初期化を行うこと。今回疑問に思ったファイルはbash(Bourne Again SHell)が起動されるときに実行される。

2番目の役割の際に初期化で使われるファイルが、bashrcとbash_profileらしい。

bash起動時の初期化フロー

  1. /etc/profileを実行
  2. /etc/profileによって、/etc/profile.dディレクトリ配下のすべてのファイルを実行
  3. ログインユーザーのホームディレクトリにある .bash_profileを実行
  4. .bash_profileによって、.bashrcを実行
  5. .bashrcによって、/etc/bashrcを実行

bashrcとbash_profileの違い

.bash_profileはbashがログインシェルとして起動されたときにのみ実行されるが、
.bashrcはログイン時も含めbashが起動するたびに実行される点が違う。
なので、

.bash_profileにはユーザーがログイン時にのみ行う処理(設定)を記述する。

.bashrcにはシェル変数や環境変数、エイリアスなどユーザー環境の基本となる設定を記述する。

sourceコマンド

上記テキストファイルは内容を変更しただけでは変更が反映されないので、ログアウトしなおすか、sourceコマンドを打つ。
$ source .bash_profile
これで変更が反映される。

51
54
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
54