Il percorso della shell (ovvero PATH) per un utente in OSX è una variabile che definisce un insieme di posizioni nel file system in cui l'utente può utilizzare determinate applicazioni, comandi e script della shell senza la necessità di specificare il percorso completo per quel comando o programma nel Terminale.
Se inserisci abc
in Terminale verrà eseguita la prima occorrenza di abc
in uno dei percorsi definiti in PATH.
Per accedere o stampare la variabile PATH devi usare $ PATH.
Esempio:
echo $PATH
La variabile PATH ha una parte generale e una parte specifica dell'utente.
1. Parte generale:
La parte generale è definita dal file (superiore) / etc / paths e dal contenuto (inferiore) della cartella /etc/paths.d .
Il contenuto predefinito del file / etc / paths (in OS X) è:
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
La cartella predefinita /etc/paths.d è vuota. Sui sistemi precedenti con un'installazione X11 la cartella contiene un file denominato 50-X11 con il contenuto
/usr/X11/bin
che aggiunge un percorso aggiuntivo ( / usr / X11 / bin ) a PATH.
Il prefisso - appena definito definisce l'ordine di caricamento.
La mia cartella /etc/paths.d contiene i seguenti file:
/etc/paths.d/40-mysql #file content: /usr/local/mysql/bin
/etc/paths.d/50-X11 #file content: /usr/X11/bin
/etc/paths.d/60-testdisk #file content: /usr/local/testdisk
/etc/paths.d/70-git #file content: /usr/local/git/bin
Il PATH risultante è
echo PATH$
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/X11/bin:/usr/local/testdisk:/usr/local/git/bin
2. Parte specifica dell'utente:
La parte specifica dell'utente è definita dal file ~ / .bash_profile . Se hai creato un raccoglitore di cartelle nella tua cartella utente e hai installato alcune app lì puoi aggiungere la seguente riga in ~ / .bash_profile
export PATH="/Users/username/bin:$PATH"
o
export PATH="$PATH:/Users/username/bin"
La prima voce preferibilmente esegue un comando abc
trovato nella cartella / bin dell'utente, il secondo un comando abc
trovato nel percorso generale prima di eseguire uno identico denominato nella cartella ~ / bin.
Questa parte di PATH definita da .bash_profile è efficace solo per il rispettivo utente.
Per aggiungere il percorso inserito in .bash_profile al PATH corrente, devi immediatamente generare il file una volta:
source ~/.bash_profile
3. Percorsi temporanei
Immettendo export PATH="/Users/username/bin:$PATH"
o export PATH="$PATH:/Users/username/bin"
in Terminale puoi aggiungere temporaneamente un percorso.
Questa parte di PATH viene persa dopo aver chiuso la finestra del Terminale, disconnettendo o riavviando il Mac.
Esempi (utilizzando la parte generale dall'alto):
Il file ~ / .bash_profile contiene export PATH="/Users/username/bin:$PATH"
e si emette in Terminal export PATH="/Users/username/bin2:$PATH"
, quindi il PATH risultante è:
/Users/username/bin2:/Users/username/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/X11/bin:/usr/local/testdisk:/usr/local/git/bin
\____temp. path_____/
Il file ~ / .bash_profile contiene export PATH="$PATH:/Users/username/bin"
e si emette in Terminal export PATH="/Users/username/bin2:$PATH"
, quindi il PATH risultante è:
/Users/username/bin2:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/X11/bin:/usr/local/testdisk:/usr/local/git/bin:/Users/username/bin
\____temp. path_____/
Riepilogo
PATH (o $ PATH) è definito da diversi file: / etc / paths, i file in /etc/paths.d e ~ / .bash_profile e in caso di aggiunta di un percorso temporaneo con ulteriore contenuto RAM.