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、「互換性」 ]。
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
$PATH
zsh
interactive
login
~/.zshenv
使用する必要のある特定のファイル(つまり、現在インストールに存在しない.zshenv)、現在使用しているファイルの1つ、またはそれは重要ですか?
起動時に読み取られるファイルがたくさんあり(リンクされたman
ページを確認してください)、その理由があります-各ファイルには特定の場所があります(すべてのユーザーの設定、ユーザー固有の設定、ログインシェルの設定、すべてのシェルの設定、等)。
存在しないことを心配しないでください~/.zshenv
-あなたがそれを必要とするならば、それを作ってください、そしてそれは読まれます。
.bashrc
明示的にソースまたは類似のものを使用しない限り、によって読み取られること.bash_profile
はありません。との間の構文は常に互換性があるとは限りません。とは両方とも、設定ではなく設定用に設計されています。zsh
~/.zshrc
bash
zsh
.bashrc
.bash_profile
bash
zsh