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