前提・実現したいこと
現在はzshを使用ししてPATHやカスタマイズは.zshrcに記載しているのですが、
ある記事を読みまして環境変数やPATHのexportは.zshenvに記載し、
エイリアスやカスタマイズ関係は.zshrcに記載と書いてあったんですが、
記事の通り記載し直した方が良いのでしょうか??
また、.zshenvが現在ないのですが、手動で作って良いのでしょうか?
補足情報(FW/ツールのバージョンなど)
macOS
zsh
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
AppleDeveloper開発者向けの資料に、実行される順番が書かれていました。
参考にしてください。
/etc | ~/ |
---|---|
①/etc/zshenv | ②~/.zshenv |
③/etc/zprofile | ④~/.zprofile |
⑤/etc/zshrc | ⑥~/.zshrc |
⑦/etc/zlogin | ⑧~/.zlogin |
補足として、/etc/zshrcの最後に/etc/zshrc_Apple_termenalが呼ばれている。
投稿2022/01/08 15:45
総合スコア7337
0
ベストアンサー
.zlogin
ログインシェルの時だけ実行
.zshrc
対話型シェルの時だけ実行
.zshenv
対話型シェルだけでなくzshスクリプトの場合でも実行
と、呼ばれるタイミングが違います。.zshenv
はZshスクリプト実行ごとに呼ばれるので、例えばログインシェルはBashだが、Zshスクリプトではそれと違う環境変数を使いたいとかの場合に使うのでしょうか。
PATH
など環境変数の設定であれば、ログインシェルで一度だけ実行すれば、そこから起動されるプロセスに引き継がれるので、.zlogin
に書くのが普通かと思います。
.zshenvが現在ないのですが、手動で作って良いのでしょうか?
はい。
投稿2022/01/08 14:58
総合スコア85901
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/10 08:17
2022/01/10 11:59
2022/01/10 14:23
2022/01/10 16:03
0
ある記事を読みまして環境変数やPATHのexportは.zshenvに記載し、
エイリアスやカスタマイズ関係は.zshrcに記載と書いてあったんですが、
私もこのルールと同じように、PATH
等の環境変数は~/.zshenv
に書き、エイリアスや補完設定などのインタラクティブシェル特有の設定を~/.zshrc
に書いています。
PATH
を~/.zshenv
に書くようにしている理由ですが、リモートからssh server command
とした時にcommand
を設定したPATH
から検索して欲しいからです。
ssh
でリモートから直接コマンドを実行した場合は~/.zshenv
のみ実行されるので、PATH
の設定を~/.zshrc
等に書いた場合はシステムのデフォルトのPATH
に含まれないコマンドはフルパスで指定する必要が出て来てしまいます。
他の環境変数も同様に、リモートからssh
でコマンドを直接実行した時にも影響を与える為に~/.zshenv
に書いています。
投稿2022/01/10 08:14
総合スコア947
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
~/.zshenv
は手動で作ってよいです。
~/.zshrc
はzshがインタラクティブシェルとして起動したときに実行されますが、~/.zshenv
はどんな場合にも最初に実行されます。たとえばシェルスクリプトの実行のために新しいzshが起動したときなどでも。ですからシェルスクリプトの実行にも必要な環境変数などは~/.zshenv
で設定してあげれば良いというわけですね。
ただし当然ですがユーザーのホームディレクトリの~/.zshrc
は他のユーザーには影響が及びません。
全ユーザーが対象の設定は/etc/zshenv
に書きます。
(もしかしたら/etc/zsh/zshenv
かもしれません)
投稿2022/01/08 14:52
総合スコア8402
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。