PATH
Appleはシェル設定ファイルの最後に、より多くの変数バリアントをプッシュするのではなく、ディレクトリからパスのリストを読み、変数を自動的に拡張できるpath_helper
ようにバイナリを作成したことを読みました。PATH
/etc/paths.d/
また、このファイルはcshとbash(-c
および-s
対応するフラグ)の出力のみを生成します。出力はありませんzsh
(zshはbashとある程度互換性がありますが理解しています)。
zshを使用しています。私の/etc/zshenv
ファイルには次の行が含まれています。
# system-wide environment settings for zsh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
端末または新しいタブを開くと、プロセスが完了するのに約0.5秒かかります。 1つのファイルにのみ単一のパス(/usr/X11/bin
)があります。完全に削除すると、/etc/zshenv
どのくらいのリスクを取る必要がありますか?上記のパスをmyまたはfileに入力すれば.zshrc
十分ですか.zshenv
?
ベストアンサー1
superuser.comで同様の質問をしたことがありますか? 接続ブログ投稿言いました(ほとんどの記事全体を引用しています)。
/usr/libexec/path_helper
Mac OS Xでは、ログインシェルを作成するたびにこれを実行しますが、これは非常に遅いです。 (特に私はSlowを考えています[[ "$NEWPATH" = *(*:)${p}*(:*) ]]
。)ターミナルウィンドウが開くのに約4秒かかります。 /etc/paths.d からファイルを削除し、その内容を .bash_profile の $PATH に直接配置すると、端末ウィンドウがすぐに読み込まれます。
ディスカッションにはリンクも含まれています。Perlで書かれた置換、github.com/mgprot/path_helper
(どのくらい速いのかわかりません。)
編集する:上記のブログ投稿のコメントを見ると -パッチpath_helper
これは問題を解決する別の方法でなければなりません。