回答:
以下に、各ファイルに含まれる傾向のある非排他的なリストを示します。
.zshenv
、常に供給され、それは多くの場合、他のプログラムに利用可能であるべきエクスポート変数が含まれています。たとえば、$PATH
、$EDITOR
、とは$PAGER
多くの場合に設定されています.zshenv
。また、設定$ZDOTDIR
し.zshenv
て、残りのzsh構成の代替の場所を指定できます。.zshrc
対話型シェル構成用です。そこで、setopt
およびunsetopt
コマンドを使用して、対話型シェルのオプションを設定します。シェルモジュールをロードしたり、履歴オプションを設定したり、プロンプトを変更したり、zleと補完を設定したりすることもできます。対話型シェルでのみ使用される変数も設定します(例:)$LS_COLORS
。.zlogin
ログインシェルの開始時にソースされます。このファイルは、を使用してXを起動するためによく使用されますstartx
。一部のシステムは起動時にXを起動するため、このファイルは常に非常に有用ではありません。.zprofile
基本的には、.zlogin
直後にソースされるので.zshrc
はなく、直後にソースされることと同じです。zshのドキュメントによると、「.zprofile
kshファンの `.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