2013-10-07 10 views
6

Warum benötigt die Einstellung PATH die :${PATH} am Ende?Einstellungspfad in bash_profile

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

Wenn ich einen Weg zu diesem anhängen würde ich tun

PATH=$PATH:... 

Wie anfügen ich einen PATH ohne auf eine neue Linie zu gehen. Das heißt, wie würde ich eine PATH an die ursprüngliche PATH Anweisung anhängen.

Wenn ich zum Beispiel alle folgenden in die erste Zeile schreiben wollte. Wie interagiert das mit dem :${PATH} Teil?

PATH=$PATH:/usr/local/mysql/bin 

Antwort

16

Es gibt einen Unterschied zwischen einem bestehenden Pfad nach vorne oder dem Ende der variablen $PATH Umgebung angehängt wird. Die Art, wie bash Auflösungspfade auflöst, beginnt am Anfang der Liste. Das heißt, wenn Sie diese beiden Verzeichnisse in Ihrem Pfad haben:

PATH="/dir1/bin:/dir2/bin" 

Und sie haben beide die ausführbare test.sh darin, dann, wenn Sie test.sh laufen, es wird die eine in /dir1/bin/test.sh ausführen, da das Verzeichnis zuerst in das erscheint Pfad.

Zusätzlich ist ${PATH} das gleiche wie $PATH.

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

einfach ist das Hinzufügen von /Library/Frameworks/Python.framework/Versions/2.7/binan der Vorderseite des Weges und

PATH=$PATH:/usr/local/mysql/bin 

einfach ist das Hinzufügen /usr/local/mysql/binzu dem Ende des Pfades.

Also wie machst du beides in einer Linie? Etwas wie dieses:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin" 
Verwandte Themen