/etc/paths$PATHシェルプロセスのセットアップに使用されるものの一部です。新しいターミナルウィンドウを開くと、が起動しbash、いくつかの起動スクリプトが実行されます:/etc/profileAND ~/.bash_profileOR(存在しない場合)~/.bash_loginOR(存在しない場合)~/.profile。これらのスクリプトは、を含むシェル環境をセットアップし$PATHます。
実行する処理の1つ/etc/profileはrunです/usr/libexec/path_helper。これは、内の/etc/pathsすべてのファイルを読み取り、/etc/paths.dその内容をに追加し$PATHます。しかし、これは単なる出発点です。独自の起動スクリプト(存在する場合)は、への追加$PATH、編集、完全な置換などを行うことができます。
起動スクリプト(および/またはスクリプトの実行内容)が取得する基本セットにいくつかのエントリを追加しているように見えます/etc/paths。「Users / myusername / .node_modules_global / bin:/Users/mac/.node_modules_global/bin:」が$PATH(これらのディレクトリが最初に検索されることを意味する)の先頭に追加され、「:/ Users / mac / Library / Android / sdk / platform-tools:/ platform-tools」が最後に追加されます。それらが何を追加しているかを正確に知りたい場合は、起動スクリプトを確認する必要があります。
ところで、この設定プロセスは$PATHbashの「ログイン」シェルにのみ適用されます。bashシェルによって実行されるものはすべて$PATHそれから継承するので、おそらく本質的に同じものを持っています。bashの非ログインシェルは、やや異なるセットアッププロセスに従います。他のシェル、およびシェルから開始されていないもの(たとえば、cronジョブ)は、完全に異なる場合があります$PATHs。
/etc/paths、私は走っ10.4.11ていて、それ以来おそらく状況は変わっています