【Mac備忘録】ないものだらけ編 Vol.2
とくにIT企業に勤めているわけでもないわたしの備忘録、第二弾。
前回の記事では.bash_profileや.bashrcについて、まずはつくってみよう、という初歩の初歩を書きました。
で、前回記事の途中に、
.bash_profileと.bashrcの違いについて軽く触れ、詳しくは次回〜としていたので今回はそこについて!
ちがいをおさらい
まずは、.bash_profileと.bashrcのちがいをざっと復習。
①なにを書くのか?
.bash_profileは、新しい環境変数を設定するときに使う。
.bashrcには、エイリアス、シェル関数、コマンドラインの補完を設定するといい。
②読み込みのタイミングは?
.bash_profileは、ログイン時に一度だけ読み込まれる。
.bashrcは、bashを起動するたびに読み込まれる。また、コマンドbashを叩けば再度読み込み。
ちがいを検証してみよう!
それでは、読み込みのタイミングについて実際に編集をして確認をしていこうと思う。
それぞれ、次のように記述し、保存しておく。
.bash_profile
#test
echo '.bash_profileだよ'
.bashrc
#test
echo '.bashrc だよ'
Terminalを一度終了する。
再度、Terminalを起動。
すると。。
このように表示された。
処理の流れとしては、.bash_profileがまず読み込まれるが、.bash_profileには.bashrcを読み込むようにという指示を書き込んでいるので、一行目に「.bashrcだよ」が出て、そのあとに「.bash_profileだよ」が表示されている。
次に、bashと打ち込んで再度Bashを起動してみる。
すると、今度は「.bashrcだよ」のみが表示された。
ちがいをおさらい、のところで確認したとおり、.bashrcはbashコマンドで再読み込みができるみたいだ。
補足☆
上の例だとわかりにくくなってしまっているが、.bashrcはログイン時には読み込みされない。
わたしの場合は、.bash_profileに.bashrcを読み込んでね、という記述をしているからログイン時に「.bashrcだよ」が出ている。
.bashrcには、エイリアスなど要はTerminalを使う上で読み込んでおいてほしい設定を記述していて、これもログインと同時に読み込んでおいてほしい、だから、ログイン時に読み込まれる.bash_profileに、.bashrcを読み込むよう指示しておこうね、というのが一般的。
まとめ
.bash_profileは、ログイン時に一度だけ読み込まれる。
.bashrcは、bashを起動するたび(コマンドbashなど)に読み込まれる(ログイン時には読み込まれません!)。
.bash_profileは常時カスタマイズするようなものは書かず、環境変数を設定し、.bashrcは普段からよくいじるようなもの(エイリアスとか)を設定する。
引き続きがんばろう〜!