/etc/paths
はOS Xで実行しているすべてのシェルによって読み取られますか?たとえば、zshを使用する場合、/etc/path
を解析して$PATH
にデータを入力しますか?
OSXが$PATH
にデータを入力するために従うシーケンスは正確には何ですか?他のユニスとは違うのですか?
OSX開発者は、私が知る限り、他のすべてのUnicesとは異なる$ PATHを設定する独自の方法を実装しています。彼らは path_helper
というプログラムを使用します。このプログラムは/etc/paths
と/etc/path.d
内のファイルを読み取り、それに応じてユーザーのデフォルトの$PATH
を変更します。
this によると、$PATH
はログインシェルに対してのみこの方法で設定されます。これがおそらくiTerminalがデフォルトでログインシェルを開始する理由です(なぜ彼らがそれを選んだのか私はいつも疑問に思っていました)。
同じ情報源によると、path_helper
は/etc/profile
と/etc/csh.login
から実行されます。
bash
ログインシェルcsh
ログインシェルzsh
ログインシェル(/etc/profile
と読む必要があります)/etc/profile
をソースとする他のすべてのシェル。これはほとんどのログインシェルである必要があります。