.bashrcと.bash_profileとは?何?どこ?違いは?いつ読み込まれる?使い分けは?

スポンサーリンク
pythonやプログラミングへの挑戦
スポンサーリンク
スポンサーリンク

.bashrcと.bash_profileとは?何?どこ?違いは?いつ読み込まれる?使い分けは?

.bashrcと.bash_profileとは?何?

.bashrcと.bash_profileは、bashの設定を書き込むためのファイルです。

bashとは何か?、については、以前解説しました↓

意外とあいまいになりがちだと思うので、ぜひご覧になってみてください。

 

bashとzsh、違いは?切り替え方は?bashって何?zshって何?
bashとzsh、違いは?切り替え方は?bashって何?zshって何? bashって何?zshって何? bashやzshはシェルの種類です。 以前の記事でお伝えしたように、Catalina以降のmacではzshがデフォルトになりま...

 

さて、bashの設定を毎回手で入力するのは面倒ですよね?

例えば、これから先何回も使うような新しい変数を設定したい場合。

毎回それを手で打ち込んでいたのでは、らちがあきません。

そこで、欲しい設定を全て一箇所にまとめて書いておけば、そのファイルを実行するだけで欲しい環境が整うわけです。

.bashrcや.bash_profileは、欲しい設定を全て書いておくためのファイルです。

.bashrcと.bash_profileはどこにある?

.bashrcと.bash_profileは、ホームディレクトリ直下にあります。

では、それぞれの中身をみてみましょう。

 

cat ~/.bashrc
cat ~/.bash_profile
上のコマンドを叩くことで、それぞれ.bashrcと.bash_profieの中身を覗くことができます。

違いは?いつ読み込まれる?使い分けは?

さて、.bashrcと.bash_profileがbashの設定ファイルだとわかりました。

では、これらの違いはなんでしょうか?

実は、これらの違いは「いつ読み込まれるか」なのです。

 

.bashrcはログインするときに一度だけ読み込まれます。

一方で、.bash_profileはbash起動時に毎回読み込まれます。

 

このような違いに注意すると、.bashrcと.bash_profileには微妙な使い分けが必要になります。

大雑把に言えば、export文は.bash_profileに書くべき、ということです。

export文は環境変数を設定する文です。

.bash_profileに一度書いておけば、その環境変数がずっと使えます。

なので、bashを起動するたびに毎回読み込まれる.bashrcに書く必要はないのです。

以上が、.bashrcと.bash_profileの違い、使い分けです。

 

スポンサーリンク

 

.bash_profileから.bashrcを読み込む

.bash_profileが実行された際、.bashrcも同時に読み込まれるように設定されていることがあります。

確認するためには、以下のコマンドをうってみてください。

emacs ~/.bash_profile
この中に、以下のような表記があれば、.bashrcも同時に読み込まれることになります。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
これはシェルスクリプトという言語で書かれています。

シェルスクリプトに関しては、こちらの記事で詳しく解説しています。

 

【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その1~
【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その1~ bashでシェルスクリプトを書く準備 作業ファイルの作成 terminalで、自分が作業したいディレクトリへ移動します。 emacs test1.sh と入...

 

【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その2~
【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その2~ シェルスクリプト入門 本記事は前回の続きとなっております。 シェルスクリプトに関しては、こちらの記事を参考にして下さい。 bashシェルス...

 

【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その3~
【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その3~ シェルスクリプト入門 本記事は前回の続きとなっております。 シェルスクリプトに関しては、こちらの記事を参考にして下さい。 bash...

.bashrcを変更しても、すぐに適用されない

.bashrcを変更することで、毎回同じことを入力しなくてもbashの環境設定がされるので非常に便利です。

しかし、.bashrcはさきほども述べたようにbash起動時に読み込まれるものです。

したがって、たとえばemacs ~/.bashrcなどとして.bashrcを変更したとしても、すぐにその変更が反映されるわけではありません。

すぐに変更を反映させるには、terminal上でbashと入力するか、terminalを再起動させるなどが必要になります。

 

スポンサーリンク

 

オススメの記事

本ブログでは、pythonをはじめとしたプログラミングの情報などを、分かりやすく発信しています。

ぜひ、他の記事もご覧になってみてください。

 

bashとzsh、違いは?切り替え方は?bashって何?zshって何?
bashとzsh、違いは?切り替え方は?bashって何?zshって何? bashって何?zshって何? bashやzshはシェルの種類です。 以前の記事でお伝えしたように、Catalina以降のmacではzshがデフォルトになりま...

 

dyld: Library not loaded:でzshが動かない時の対処法
最近、macのデフォルトシェルが、bashからzshに変更されました。 (参考文献:) Catalinaよりも前は、何も考えずにterminalを開くとbashが使えたわけですが、 Catalina以降はzshになります。...

コメント