tl; dr version: verwenden ~/.zshrc
Und die man - Seite lesen , die Unterschiede zu verstehen , zwischen:
~/.zshrc, ~/.zshenvUnd ~/.zprofile.
In Bezug auf meinen Kommentar
In meinem Kommentar zur Antwort von kev sagte ich:
Dies scheint falsch zu sein - / etc / profile ist in keiner zsh-Dokumentation aufgeführt, die ich finden kann.
Dies stellt sich als teilweise falsch heraus: /etc/profile kann von bezogen werden zsh. Dies tritt jedoch nur auf, wenn zsh"als shoder aufgerufen ksh" wird; in diesen Kompatibilitätsmodi:
Die üblichen zsh-Start / Shutdown-Skripte werden nicht ausgeführt. Login shells source / etc / profile gefolgt von $ HOME / .profile. Wenn die Umgebungsvariable ENV beim Aufruf festgelegt wird, wird $ ENV nach den Profilskripten bezogen. Der Wert von ENV wird einer Parametererweiterung, einer Befehlssubstitution und einer arithmetischen Erweiterung unterzogen, bevor er als Pfadname interpretiert wird. [ man zshall, "Kompatibilität" ].
Der ArchWiki ZSH-Link lautet:
Bei der Anmeldung bezieht Zsh die folgenden Dateien in dieser Reihenfolge:
/ etc / profile
Diese Datei wird bei der Anmeldung von allen Bourne-kompatiblen Shells bezogen
Diese bedeutet , das /etc/profilewird immer gelesen von zshbei der Anmeldung - ich hatte keine Erfahrung mit dem Arch Linux - Projekt; Das Wiki ist zwar für diese Distribution korrekt, aber im Allgemeinen nicht korrekt. Die Informationen sind im Vergleich zu den zsh-Handbuchseiten falsch und scheinen unter OS X nicht für zsh zu gelten (Pfade in $PATHset in /etc/profileschaffen es nicht zu meinen zsh-Sitzungen).
Um die Frage zu beantworten:
Wo genau soll ich meine rvm-, python-, node- usw. Ergänzungen zu meinem $ PATH platzieren?
Im Allgemeinen würde ich meine Export $PATHaus ~/.zshrc, aber es lohnt sich, einen Lesevorgang der mit zshall Manpage, insbesondere die „Start / Stop - Dateien“ - ~/.zshrcist für gelesen interaktive Schalen, die kann oder auch nicht Ihre Bedürfnisse anzupassen - wenn Sie möchten , $PATHfür Jede zshvon Ihnen aufgerufene Shell (beide interactiveund nicht, beide loginund nicht usw.) ist dann ~/.zshenveine bessere Option.
Gibt es eine bestimmte Datei, die ich verwenden sollte (dh .zshenv, die derzeit in meiner Installation nicht vorhanden ist), eine der Dateien, die ich derzeit verwende, oder spielt es überhaupt eine Rolle?
Beim Start werden eine Reihe von Dateien gelesen (überprüfen Sie die verlinkten manSeiten), und es gibt einen Grund dafür - jede Datei hat ihren bestimmten Speicherort (Einstellungen für jeden Benutzer, Einstellungen für benutzerspezifisch, Einstellungen für Login-Shells, Einstellungen für jede Shell, etc).
Mach dir keine Sorgen ~/.zshenv, dass es nicht existiert - wenn du es brauchst, mach es und es wird gelesen.
.bashrcund .bash_profilewerden nicht von gelesen zsh, es sei denn, Sie beziehen sie ausdrücklich von ~/.zshrcoder ähnlich; Die Syntax zwischen bashund zshist nicht immer kompatibel. Beide .bashrcund .bash_profilesind für bashEinstellungen ausgelegt, nicht für zshEinstellungen.
.bashrcund.bash_profilenicht gelesen werden,zshda ich derzeit meinervmHinzufügung zu$PATHin.bashrcund meinepythonHinzufügung in habe.bash_profileund beide gut hinzugefügt werden. In jedem Fall werde ich alle meine$PATHExporte verschieben,~/.zshrcda alle meine anderenzshKonfigurationen dort untergebracht sind. Ich muss zugeben, ich bin mit den verschiedenen Arten von Muscheln nicht allzu vertraut. Nach dem Lesen der von Ihnen geposteten Links verwende ich vermutlich eine interaktive Shell, aber ich werde weiter lesen, um sicherzugehen ... Nochmals vielen Dank!