tl; drバージョン:使用 ~/.zshrc
また、manページを読んで、以下の違いを理解してください。
~/.zshrc
、~/.zshenv
および~/.zprofile
。
私のコメントについて
kevの回答に添付された私のコメントでは、
これは間違っているようです-/ etc / profileは、私が見つけたzshのドキュメントにはリストされていません。
これは部分的に正しくないことが判明:/etc/profile
ありによって供給することzsh
。ただし、これzsh
は、「sh
またはとして呼び出された」場合にのみ発生しksh
ます。これらの互換モード:
通常のzsh起動/シャットダウンスクリプトは実行されません。ログインシェルは/ etc / profileをソースとし、その後に$ HOME / .profileが続きます。ENV環境変数が呼び出し時に設定されている場合、$ ENVはプロファイルスクリプトの後に供給されます。ENVの値は、パス名として解釈される前に、パラメーター展開、コマンド置換、および算術展開の対象になります。[ man zshall、「互換性」 ]。
ArchWiki ZSHリンクは言います:
ログイン時に、Zshは次のファイルをこの順序でソースします。/
etc / profile
このファイルは、ログイン時にすべてのBourne互換シェルによってソースされます
これ/etc/profile
は、ログイン時に常に読み取られることを意味zsh
します。ArchLinux プロジェクトでの経験はありません。ウィキはそのディストリビューションに対しては正しいかもしれませんが、一般的には正しくありません。この情報は、zshのマニュアルページと比較すると正しくなく、OS Xのzshには適用されないようです($PATH
set inのパスは/etc/profile
、私のzshセッションに到達しません)。
質問に対処するには:
$ PATHにrvm、python、nodeなどの追加を正確にどこに配置する必要がありますか?
一般的に、私は私をエクスポートするだろう$PATH
から~/.zshrc
、しかし、の読み取り持つことの価値zshallの manページを、特に「STARTUP / SHUTDOWN FILES」セクションには- ~/.zshrc
のために読まれるインタラクティブやニーズに合わないかもしれシェル、 -あなたがしたい場合$PATH
のためにzsh
あなたによって呼び出されたすべてのシェル(両方interactive
ではない、両方login
であるなど)~/.zshenv
は、より良いオプションです。
現在使用しているファイルの1つ(つまり、現在インストールに存在しない.zshenv)を使用する必要がある特定のファイルはありますか、それとも重要ですか?
起動時に読み込まれる多数のファイルがあり(リンクされたman
ページを確認)、その理由があります-各ファイルには特定の場所があります(すべてのユーザーの設定、ユーザー固有の設定、ログインシェルの設定、すべてのシェルの設定、等)。
存在しないことを心配しないでください~/.zshenv
。必要な場合は作成してください。読み込まれます。
.bashrc
そして、.bash_profile
されていないことで読みzsh
、あなたが明示的にからそれらを調達しない限り、~/.zshrc
または類似しました。との間の構文は常に互換性があるわけbash
でzsh
はありません。.bashrc
と.bash_profile
は両方とも、bash
設定ではなくzsh
設定用に設計されています。
.bashrc
と.bash_profile
によって読み込まれていないzsh
私は、現在、私の持っているようrvm
に加え$PATH
で.bashrc
、そして私のpython
中に加え.bash_profile
て、両方がうまく追加されています。いずれに$PATH
し~/.zshrc
ても、他のすべてのzsh
構成がそこに格納されているので、すべてのエクスポートをに移動します。認めざるを得ませんが、私はさまざまな種類のシェルに慣れていません。あなたが投稿したリンクを読んでいることから、私はインタラクティブなシェルを使用していると思いますが、念のためさらに読んでいきます...ありがとうございます!