回答:
以下に、各ファイルに含まれる傾向のある非排他的なリストを示します。
.zshenv、常に供給され、それは多くの場合、他のプログラムに利用可能であるべきエクスポート変数が含まれています。たとえば、$PATH、$EDITOR、とは$PAGER多くの場合に設定されています.zshenv。また、設定$ZDOTDIRし.zshenvて、残りのzsh構成の代替の場所を指定できます。.zshrc対話型シェル構成用です。そこで、setoptおよびunsetoptコマンドを使用して、対話型シェルのオプションを設定します。シェルモジュールをロードしたり、履歴オプションを設定したり、プロンプトを変更したり、zleと補完を設定したりすることもできます。対話型シェルでのみ使用される変数も設定します(例:)$LS_COLORS。.zloginログインシェルの開始時にソースされます。このファイルは、を使用してXを起動するためによく使用されますstartx。一部のシステムは起動時にXを起動するため、このファイルは常に非常に有用ではありません。.zprofile基本的には、.zlogin直後にソースされるので.zshrcはなく、直後にソースされることと同じです。zshのドキュメントによると、「.zprofilekshファンの `.zlogin 'の代替としての意味です。2つを一緒に使用することは意図していませんが、必要に応じて確実に行うことができます。」.zlogout 端末のクリアとリセットに使用されることがあります。 あなたは通過しなければならないランダムGithubのユーザーの構成ファイルの各ファイルが含まれているべきかの良いアイデアを得るために。
man zshallについては参照)。
$PATHする場合.zshenv、他のさまざまなファイルはすべて、この値をオーバーライドするこのファイルの後にソースされます。zsh.org/mla/users/2003/msg00600.htmlを参照してください。
$LANGと$LC_ALL行きますか?
.zshenv→[ .zprofileログインの場合]→[ .zshrcインタラクティブの場合]→[ .zloginログインの場合]→[ .zlogout時々]です。
私の意見では、各ファイルに含まれるべき/含まれないもののリストです。
[毎回読む]
常にソースされているため、頻繁に更新する必要がある環境変数を設定する必要があります。おそらく、セッション全体を再起動して更新する必要はないため、PATH(またはそれに関連する対応するパス)は良い例です。そのファイルに設定することにより、ターミナルエミュレータを再度開くと、PATH値が更新された新しいZshインスタンスが起動します。
ただし、Zshを起動して単一のコマンドを(-cオプションを使用して)実行する場合でも、などの別のツールによっても読み取られることに注意してくださいmake。標準コマンドのデフォルトの動作を変更しないように非常に注意する必要があります。標準コマンドを使用する一部のツールが壊れる可能性があるためです(エイリアスを設定するなど)。確かに、あなたがしていることを知っているので、それは禁止されていません。
[ログイン時に読む]
私はそのファイルを個人的に扱います.zshenvが、一度設定する必要があるコマンドや変数は頻繁に更新する必要はありません:
SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"時間がかかる可能性があるため、コマンド(など)を実行する構成。そのファイルを変更すると、現在のシェルをログインシェルとして新しいシェルに置き換えることにより、構成の更新を取得できます。
exec zsh --login
[インタラクティブなときに読む]
インタラクティブな使用にのみ必要なすべてをここに入れます:
[ログイン時に読む]
このファイルは似ていますが.zshprofile、後に読み込まれ.zshrcます。現時点では、シェルは完全にセットアップされていると思います。
そのため、シェルの動作を変更しない外部コマンド(ログインマネージャーなど)を起動するために使用します。
[ログアウト時に読む] [ログインシェル内]
ここで、ログイン時に端末またはその他のリソース設定をクリアできます。
.zshenv.zshenv.zprofile.zshrc.zlogin.zlogout