2013-10-07 19 views
6

Perché l'impostazione di PATH richiede il :${PATH} alla fine?Impostazione percorso in bash_profile

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

Quando aggiungo un percorso per questo vorrei fare

PATH=$PATH:... 

Come posso aggiungere una PATH senza andare a una nuova linea. Cioè, come dovrei aggiungere un PATH alla dichiarazione originale PATH.

Se volevo mettere il seguente tutto nella prima riga, per esempio. In che modo questo interagisce con la parte :${PATH}?

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

risposta

16

C'è una differenza tra aggiungendo un tracciato esistente alla parte anteriore o alla fine della variabile $PATH ambiente. Il modo in cui bash risolve i percorsi di esecuzione è partendo dalla parte anteriore dell'elenco. Questo significa che se si dispone di queste due directory nel path:

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

ed entrambi hanno l'eseguibile test.sh in esso, poi, quando si esegue test.sh, sarà eseguire quello in /dir1/bin/test.sh da quella directory appare per primo nel sentiero.

Inoltre, ${PATH} è lo stesso di $PATH.

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

solamente aggiungere /Library/Frameworks/Python.framework/Versions/2.7/binalla parte anteriore del percorso e

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

solamente aggiungere /usr/local/mysql/binalla fine del percorso.

Quindi, come si fa a fare entrambe le cose in un'unica riga? Qualcosa del genere:

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