できない.dev

シェルの起動ファイル

別名: .bashrc / .zshrc / .bash_profile / .zprofile / シェル設定ファイル

bash や zsh が起動するときに自動で読み込んで実行するファイル。
PATH の追加や alias、nvm などの初期化行を書く場所で、ログインシェルかどうかとシェルの種類によって読まれるファイルが変わる。

公開:

定義

シェルの起動ファイル は、Bash や zsh が起動するときに自動で読み込んで実行するファイルのことである。~/.bashrc や ~/.zshrc が代表で、PATH の追加、alias、nvm や pyenv の初期化行などを書いておくと、新しく開いたシェルで毎回その設定が有効になる。

詳細

Bash はログインシェルとして起動すると /etc/profile を読んだ後、~/.bash_profile・~/.bash_login・~/.profile の順に探し、最初に見つかった 1 つだけを実行する。
ログインシェルでない対話シェルでは ~/.bashrc を読む。
そのため ~/.bash_profile の中から ~/.bashrc を読み込む書き方が一般的である。

zsh はまず ~/.zshenv を読み、ログインシェルなら ~/.zprofile、対話シェルなら ~/.zshrc を続けて読む。
同じ設定でも、どのファイルに書いたかによって効くシェルと効かないシェルが分かれる。

よくある誤解

  • 書き換えれば開いているターミナルにも反映される: 反映されない。
    起動時に 1 回読むだけなので、新しいシェルを開くか source ~/.zshrc のように読み込み直す必要がある。
  • ~/.bashrc に書けばどのシェルでも効く: zsh は ~/.bashrc を読まない。
    使っているシェルが読むファイルに書く必要がある。

関連

起動ファイルに書く設定の多くは PATH の追加である。
書いたのに反映されない場合は Zsh で .zshrc に書いた PATH や alias が反映されない や nvm をインストールしたのに nvm コマンドが認識されない を参照する。

この記事は役立ちましたか?