/etc/pathsjest częścią tego, co jest używane do konfiguracji $PATHprocesów powłoki. Po otwarciu nowego okna terminala zostanie bashuruchomione, które uruchamia kilka skryptów uruchamiania: /etc/profileORAZ ~/.bash_profileLUB (jeśli to nie istnieje) ~/.bash_loginLUB (jeśli to nie istnieje) ~/.profile. Te skrypty konfigurują środowisko powłoki, w tym $PATH.
Jedną z rzeczy /etc/profilejest uruchamianie /usr/libexec/path_helper, które czyta /etc/pathsi wszelkie pliki w /etc/paths.d, i dodaje ich zawartość $PATH. Ale to tylko punkt wyjścia; własny skrypt startowy (jeśli istnieje) może dodawać $PATH, edytować, całkowicie zastępować itp.
Wygląda mi na to, że twój skrypt startowy (i / lub rzeczy, które uruchamia) dodaje szereg wpisów do podstawowego zestawu, z którego pobiera /etc/paths. Na początku dodaje się „Users / myusername / .node_modules_global / bin: /Users/mac/.node_modules_global/bin:” $PATH(co oznacza, że te katalogi będą wyszukiwane w pierwszej kolejności) i „: / Users / mac / Library / Android / sdk / platform-tools: / platform-tools ”dodaje się na końcu. Jeśli chcesz dokładnie wiedzieć, co je dodaje, musisz spojrzeć na skrypt startowy.
Przy okazji, ten proces konfiguracji $PATHdotyczy tylko powłok bash „login”. Wszystko, co uruchamia powłoka bash, odziedziczy $PATHpo niej, więc prawdopodobnie ma zasadniczo to samo. Powłoki bash niezalogowane wykonują nieco inny proces instalacji. Inne powłoki i rzeczy, które w ogóle nie zaczęły się od powłoki (np. Zadania cron), mogą mieć zupełnie inne cechy $PATHs.
/etc/pathsw swoim, ale biegnę10.4.11i od tamtej pory wszystko prawdopodobnie się zmieniło