/etc/pathsist Teil dessen, was zum Einrichten von $PATHShell-Prozessen verwendet wird. Wenn Sie ein neues Terminalfenster öffnen, wird es gestartet bash, in dem mehrere Startskripte ausgeführt werden: /etc/profileAND ~/.bash_profileOR (falls nicht vorhanden) ~/.bash_loginOR (falls nicht vorhanden) ~/.profile. Diese Skripte richten die Shell-Umgebung ein, einschließlich $PATH.
Eines der Dinge /etc/profileist das Ausführen /usr/libexec/path_helper, das /etc/pathsalle Dateien liest und /etc/paths.dihren Inhalt hinzufügt $PATH. Dies ist jedoch nur ein Ausgangspunkt; Ihr eigenes Startskript (falls vorhanden) kann es ergänzen $PATH, bearbeiten, vollständig ersetzen usw.
Es sieht für mich so aus, als würde Ihr Startskript (und / oder die Dinge, die es ausführt) dem Basissatz, aus dem es stammt, eine Reihe von Einträgen hinzufügen /etc/paths. "Users / myusername / .node_modules_global / bin: /Users/mac/.node_modules_global/bin:" wird am Anfang von hinzugefügt $PATH(dh diese Verzeichnisse werden zuerst durchsucht) und ": / Users / mac / Library / Android / sdk / platform-tools: / platform-tools "wird am Ende hinzugefügt. Wenn Sie genau wissen möchten, was sie hinzufügt, müssen Sie sich Ihr Startskript ansehen.
Übrigens gilt dieser Vorgang zum Einrichten $PATHnur für Bash-Login-Shells. Alles, was von einer Bash-Shell ausgeführt wird, wird davon erben $PATH, also haben Sie wahrscheinlich im Wesentlichen dasselbe. Bash-Nicht-Login-Shells folgen einem etwas anderen Einrichtungsprozess. Andere Shells und Dinge, die überhaupt nicht von einer Shell aus gestartet wurden (z. B. Cron-Jobs), können völlig anders sein $PATHs.
/etc/pathsin meinem, aber ich renne10.4.11und die Dinge haben sich wahrscheinlich seitdem geändert