iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

.bash_profile と .bashrc

みなさん bash は使っていますか?macOS Catalina からデフォルトシェルが zsh になってから、zsh を使ってる人が多いと思いますが、僕はいまだに bash ですので👷‍♀️ 今回はそんな bash の設定を行うために使用される .bash_profile.bashrc がなんなのかということを簡単にまとめてみました(zshbash の上位互換なので、設定ファイルが違うだけでおおよそは同じ気がしています、、)。

f:id:yum_fishing:20201116220841p:plain

事前に知っておくといいもの

ログインシェル

ログインした直後に動作するシェルのことを指します。例えば、僕の Mac環境はログインシェルが bash に設定されているので、Terminal.app を新規タブ・ウィンドなどで立ち上げると、システムが bin/bash --login を呼び出し bash が使えるようになります。

インタラクティブシェル

ログイン無しで起動されるシェルのことを指しています。僕の環境の場合では、--login がされずに実行されるシェルのことです🐧


.bash_profile

ログインシェル起動時に呼び出されます。Mac で言うと、terminal を新規タブ・ウィンド で開いた時に .bash_profile が呼び出されます。また、このファイルの主な用途は環境変数の設定で、環境変数はプロセス間で受け継がれるのでログイン時にのみ実行すれば正常にセットすることができます。

.bashrc

インタラクティブシェル起動時に呼び出されます。ファイルの主な用途は、エイリアスの定義、シェル関数の定義、コマンドラインの補完の設定などです。また、.bash_profile.bashrc を読み込む処理を書くことで、ログインシェル起動時に .bashrc を読み込むように設定できます。

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com