/etc/paths
jest częścią tego, co jest używane do konfiguracji $PATH
procesów powłoki. Po otwarciu nowego okna terminala zostanie bash
uruchomione, które uruchamia kilka skryptów uruchamiania: /etc/profile
ORAZ ~/.bash_profile
LUB (jeśli to nie istnieje) ~/.bash_login
LUB (jeśli to nie istnieje) ~/.profile
. Te skrypty konfigurują środowisko powłoki, w tym $PATH
.
Jedną z rzeczy /etc/profile
jest uruchamianie /usr/libexec/path_helper
, które czyta /etc/paths
i 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 $PATH
dotyczy tylko powłok bash „login”. Wszystko, co uruchamia powłoka bash, odziedziczy $PATH
po 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/paths
w swoim, ale biegnę10.4.11
i od tamtej pory wszystko prawdopodobnie się zmieniło