zshrcやzshprofileとその違い
どちらもzshの設定ファイルであるが、呼び出される順番や使用シェルによって呼び出されるかどうかが若干違う
設定ファイル一覧
システム全体用 | ユーザーごと | |
---|---|---|
共通 | ①/etc/zshenv | ②~/.zshenv |
ログインシェルの場合 | ③/etc/zprofile | ④~/.zprofile |
インタラクティブシェルの場合 | ⑤/etc/zshrc | ⑥~/.zsshrc |
ログインシェルの場合 | ⑦/etc/zlogin | ⑧~/.zlogin |
ログアウト時 | ⑨/etc/zlogout | ⑩~/.zlogout |
- !①や②はシェルスクリプトの動作に影響を与える可能性があるため、注意!
- 実際に実行されるのは?
ログインシェルとは?
基本的に普通に開いたものはログインシェルだと思う
確認方法
- $SHELLで確認する
環境変数$SHELL
に保存されているものがログインシェル
$ echo $SHELL /bin/zsh
であれば、zshがログインシェル
- $0で確認する
$ echo $0 -zsh
のように、-(ハイフン)付きで表示されてたらログインシェル
以下のように、新たにシェルを立ち上げるとログインシェルではなくなり、ハイフンはなくなる
$ zsh Restored session: 2021年 6月19日 土曜日 19時58分52秒 JST $ echo $0 zsh $ exit Saving session... ...saving history...truncating history files... ...completed.