Fügen Sie hier diese Zeile zu .zshrc
hinzu :
export PATH=/home/david/pear/bin:$PATH
BEARBEITEN :Dies funktioniert, aber die obige Antwort von ony ist besser, da sie die Vorteile der strukturierten Schnittstelle nutzt, die ZSH für Variablen wie $PATH
bereitstellt . Dieser Ansatz ist Standard für bash
, aber soweit ich weiß, gibt es keinen Grund, es zu verwenden, wenn ZSH bessere Alternativen bietet.
Tatsächlich ermöglicht Ihnen die Verwendung von ZSH, eine spezielle Zuordnung von Umgebungsvariablen zu verwenden. Sie können also einfach Folgendes tun:
# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH
Für mich ist das ein sehr nettes Feature, das auf andere Variablen propagiert werden kann. Beispiel:
typeset -T LD_LIBRARY_PATH ld_library_path :
Sie können anhängen zu Ihrem PATH
auf minimale Art und Weise. Klammern sind nicht erforderlich, es sei denn, Sie hängen mehr als ein Element an. Es benötigt auch normalerweise keine Anführungszeichen. Also der einfache, kurze Weg zum Anhängen ist:
path+=/some/new/bin/dir
Diese Kleinbuchstaben-Syntax verwendet path
als Array , wirkt sich aber auch auf das großgeschriebene Partneräquivalent PATH
aus (an die es über typeset
"gebunden" wird ).
(Beachten Sie, dass kein :
wird als Trennzeichen benötigt/gewünscht .)
Allgemeine interaktive Verwendung
Dann wird das übliche Muster zum Testen eines neuen Skripts/einer neuen ausführbaren Datei:
path+=$PWD/.
# or
path+=$PWD/bin
Allgemeine Konfigurationsnutzung
Sie können Pfadeinstellungen um Ihre .zshrc
streuen (wie oben) und es wird natürlich dazu führen, dass die früher aufgeführten Einstellungen Vorrang haben (obwohl Sie gelegentlich dennoch die "vorangestellte" Form path=(/some/new/bin/dir $path)
verwenden möchten ).
Verwandte Leckerbissen
Behandlung von path
auf diese Weise (als Array) bedeutet auch:keine Notwendigkeit, rehash
zu tun um die neu gepfadeten Befehle zu finden.
Sehen Sie sich auch vared path
an als dynamische Möglichkeit, path
zu bearbeiten (und andere Dinge).
Möglicherweise interessiert Sie nur path
für diese Frage, aber da wir über Exporte und Arrays sprechen, beachten Sie, dassArrays im Allgemeinen nicht exportiert werden können.
Sie können sogar PATH
verhindern vor doppelten Einträgen (siehe hier und hier):
typeset -U path
PFAD vorbelegt
Der Grund, warum Ihr Pfad bereits einige Einträge enthält, liegt daran, dass Ihre System-Shell-Dateien den Pfad für Sie festlegen. Dies wird in ein paar anderen Beiträgen behandelt:
- Warum und wo wird die Umgebungsvariable $PATH gesetzt?
- Wo ist die Quelle von $PATH? Ich kann es nicht in .zshrc finden