~によると文書
.zshenv
-fオプションが設定されていない場合は、シェルへのすべての呼び出しからこの情報を取得します。これには、コマンド検索パスを設定するコマンドとその他の重要な環境変数を含める必要があります。.zshenv
出力を生成したり、シェルがttyに接続されていると仮定するコマンドを含めないでください。
いいね、いいですね。 sshを介してログインすることはzshを呼び出すと見なされます。しかし、そうではないかもしれませんか?
wayne@arglefraster ~
⚘ echo $PATH 10:01:17
/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
wayne@arglefraster ~
⚘ zsh 10:01:20
e%
wayne@arglefraster ~
⚘ echo $PATH 10:01:24
/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/wayne/.rvm/bin:/home/wayne/.bin:/home/wayne/.local/bin
これらの追加パスビットが私のファイルに追加されます.zshenv
。
これは正常ですか、それとも私に奇妙なことが起こっていますか? PATH編集を他の場所に移動する必要がありますか?
ベストアンサー1
zshenv
実際にはシェルのすべてのインスタンスから読み取られますが、最初、最初。 (または、…)$PATH
でリセットできます。zprofile
~/.zprofile
/etc/zprofile
zshenv
settingsではなく$PATH
、zprofile
ログイン時に環境を設定する役割をします。環境変数を設定するとは、セッション内でzshenv
単純なzsh
サブシェルまたはスクリプトを実行するzsh
と、その変数が削除されることを意味します。