シェル設定ファイル - ntuf/Tips GitHub Wiki

シェル設定ファイル
■場所
全て基本ホームディレクトリ直下
/etc直下にもおける

■各設定ファイル

●bash関連(起動順)
.bash_profile ログイン時のみ読み込まれる
.bashrc bashを起動したときに読み込まれれる
※全てここに書くでいいと思う
.profile. ログイン時っぽいが特にいじらなくていいと思われる
.bash_login ログイン後の最後に読み込まれる
.bash_logout exitで抜けるとき読み込まれる
.bashrenv (というのがあるのかと思ったがない模様)
$BASH_ENVで指定していたものがzshrenvと同様の動きをするらしい

●zsh関連(起動順)
.zshrenv zshを起動したときに読み込まれれる
※これもよく書かれている。環境系を書くのだそう。
.zsh_profile ログイン時のみ読み込まれる .zshrenvの次に読み込まれる
.zshrc zshを起動したときに読み込まれれる
※全てここに書くでいいと思う
.zlogin ログイン後の最後に読み込まれる
.zlogout exitで抜けるとき読み込まれる

■よく使うコマンド
$ source .bashrc
$ source .bash_profile
$ source .zshrc
$ source .zshrenv
編集したbashrc/.zshrcをbash_profile/. zsh_profileに反映させる
保存されて次回もパスが利用できる。

■Bashとzshの違いって何?
2019年、WWDC19の基調講演でApple社は次にリリースする「MacOS X Catalina」より標準のシェルを「zsh」に変更すると発表。
こうなった経緯としてはbashのライセンスとセキュリティによる事情があります。
MacOS Mojaveまでに搭載されているbashはバージョンが3で実はこれは10年以上前のもの。
すでにbashのバージョンは5になっているのにここで止まっていた理由のはbash 4からGPL3が採用されたことにあります。
Apple社としてはこれを受け入れられず、bashが古いままであることによるセキュリティ問題が浮上。
その結果、MIT likeライセンスであるzshの採用に至ったものと思われます。

ここに詳しい
https://kanasys.com/tech/803

⚠️ **GitHub.com Fallback** ⚠️