🐚
.zshrcと.zprofile って何が違うの?
anaconda
や pyenv
などの環境設定を行う際に .zshrc
と .zprofile
の違いについて忘れてしまっていたので,自分の備忘録として残しておきます。
TD;LR
-
.zshrc
:シェルが起動するたびに実行したい設定を書く -
.zprofile
:ログイン時に 1 回だけ実行したい設定を書く
もう少し詳しく
一応,bash_profile
についても簡単に記述しておきます。
macOS Catalina
以降では,デフォルトのシェルが zsh
に変更されたみたいです。
ファイル名 | Shell | 読み込みタイミング | 主な用途 |
---|---|---|---|
.zshrc | Zsh | シェルが起動されるたび | インタラクティブなシェルの設定(プロンプト、エイリアスなど) |
.zprofile | Zsh | ログインシェルとして起動されたとき | ログイン時に 1 回だけ実行したい設定(環境変数など) |
.bash_profile | Bash | ログインシェルとして起動されたとき | ログイン時に 1 回だけ実行したい設定(環境変数など) |
最後に
export
などの環境変数を設定する際には,.zprofile
に書くことが多いイメージです 🤔
.zshrc
に書いてもいいのですが,シェルが起動するたびに実行されるため,シェルの起動が遅くなる可能性があるので注意してください ⚠️
Discussion