bash から zsh への移行: PATH のリセット

bash から zsh への移行: PATH のリセット

私は Mac を使っていますが、Oh-my-zsh を使用して Bash から Zsh に移行しました。

すべて正常に動作していますが、$PATH に nodeJS バイナリへのパスなどのいくつかのエントリが欠落しています。

現時点で私が使用している回避策は、bash から $PATH をコピーして .zshrc に貼り付けることですが、これはあまりクリーンではありません。

zsh の $PATH に bash にあるすべてのエントリを含めるより良い方法はありますか?

答え1

一般的に、ほとんどの Unix 系システムでは、シェルには /etc 内にいくつかの基本的な設定ファイルがあります。重要なファイル名パターンには、シェル名を記載したものや、少なくとも bash の場合はファイル「profile」が含まれます。これらの同じファイルは、.cshrc、.bashrc、.profile など、. としてレンダリングされることもあります。

ログイン シェルとして起動された Bash は、/etc/profileファイルが存在する場合は をソースとして読み込みます。そのファイルを読み込んだ後、 、 、 をこの順序でソースとして読み込みます~/.bash_profile~/.bash_loginこれら~/.profileのファイルでは、PATH を変更できますが、パスを設定するために他のプログラムもソースとして読み込みます。対話型シェルでログイン シェルでない場合は、 をソースとして読み込みます~/.bashrc

Mac の場合、/etc/profile を調べると、「path_helper」というプログラムが見つかります。このプログラムのマニュアル ページを見ると、このプログラムは追加のパスを /etc/path.d に保存する傾向があることがわかります。

このパターン .d も広く使用されており、追加の構成ファイルを探すのに適した場所です。

関連情報