🐚

.zshrcと.zprofile って何が違うの?

2025/01/18に公開

anacondapyenv などの環境設定を行う際に .zshrc.zprofile の違いについて忘れてしまっていたので,自分の備忘録として残しておきます。

TD;LR

  • .zshrc:シェルが起動するたびに実行したい設定を書く
  • .zprofile:ログイン時に 1 回だけ実行したい設定を書く

もう少し詳しく

一応,bash_profile についても簡単に記述しておきます。
macOS Catalina 以降では,デフォルトのシェルが zsh に変更されたみたいです。
https://mykii.blog/what-is-shell-bash-and-zsh/

ファイル名 Shell 読み込みタイミング 主な用途
.zshrc Zsh シェルが起動されるたび インタラクティブなシェルの設定(プロンプト、エイリアスなど)
.zprofile Zsh ログインシェルとして起動されたとき ログイン時に 1 回だけ実行したい設定(環境変数など)
.bash_profile Bash ログインシェルとして起動されたとき ログイン時に 1 回だけ実行したい設定(環境変数など)

最後に

export などの環境変数を設定する際には,.zprofile に書くことが多いイメージです 🤔
.zshrc に書いてもいいのですが,シェルが起動するたびに実行されるため,シェルの起動が遅くなる可能性があるので注意してください ⚠️

Discussion