Qual È il PERCORSO Unix, e Come Si fa ad Aggiungere i Programmi Ad esso?

0
169

Il PERCORSO Unix è una variabile di ambiente che racconta la shell che directory si dovrebbe cercare quando si eseguono comandi. Si può pensare ad esso come un elenco delle Applicazioni o cartelle di File di Programma.

Che cosa Fa Il PERCORSO che Fare?

Se si desidera eseguire un binario nella vostra cartella corrente, è necessario fornire un percorso relativo, in questo modo:

./comando [argomenti]

Ma, se si sposta il binario di una cartella /usr/local/bin/, è invece semplicemente digitare il nome del comando da eseguire è:

comando [argomenti]

Questo perché /usr/local/bin/ trova sul PERCORSO. La shell sa per guardare in quella cartella, se non si specifica una posizione. Molti utilità della riga di comando sono installati qui, e in cartelle simili. È possibile visualizzare le cartelle sul vostro CAMMINO facendo eco alla variabile stessa, utilizzando il prefisso$:

echo $PATH

Per impostazione predefinita, però, la variabile PATH è un elenco di nomi di directory diviso da due punti. Non è molto leggibile:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Ma, con un po ‘ di regex, è possibile pulire per stampare un elenco:

echo $PATH | sed $’s/:/\ n/g’

Queste directory tutto servire a diversi scopi:

  • Cartelle che terminano in bin sono di carattere generale, cartelle che terminano in sbin sono destinati per l’amministrazione del sistema comandi, cose che il sistema funziona, ma probabilmente non interagire con molto. Anche se ci sono
  • /bin e /sbin sono destinati a programmi che il sistema ha bisogno prima di /usr è disponibile. Questo è dove i programmi chiave come il pesce e ls sono memorizzati.
  • /usr/bin e /usr/sbin sono per un normale utente di programmi, di solito, integrata nel sistema operativo.
  • /usr/local/bin e /usr/local/sbin sono per i programmi che hai scaricato o compilati manualmente. Se si dispone di un binario che hai scaricato, e non so dove metterlo, chuck è in /usr/local/bin.

/usr/local/sbin, potrebbe anche non esistere sul vostro sistema, in quanto è abbastanza contraddittorio in natura. Non è presente su macOS, ma contiene alcuni programmi su Ubuntu.

È possibile visualizzare le cartelle differenti i comandi si trovano in con il comando:

che ls

Che si stampa in pieno il sentiero che conduce al comando.

Come Aggiungere Cartelle Per Il PERCORSO

Aggiunta di una cartella il PERCORSO è semplice, basta impostare la variabile. Ma non è possibile sovrascrivere completamente, quindi aggiungere una cartella per la parte anteriore del PERCORSO:

PATH=~/cartella:$PATH

Si può anche virare la cartella sul retro del PERCORSO:

PATH=$PATH:~/cartella

Questi usi diversi. Cartelle vicino alla parte anteriore sarà controllato in primo luogo, quindi, se non vi sono i comandi (per esempio, le due versioni di Python, entrambi chiamati “python“) aggiungere la cartella sul fronte garantire la cartella aggiunto manualmente sarà verificata prima. La maggior parte del tempo, questo è probabilmente ciò che si desidera.

Di solito, si definiscono questo nel tuo profilo di shell, che imposta la variabile ogni volta che si apre una nuova finestra di terminale. Se stai usando bash, questo è uno .bash_profile o .bashrc. Se si utilizza una shell come zsh, questo sarà un altro file (.per zshrc in questo caso). Se c’è già una definizione, si può semplicemente aggiungere la cartella per la parte anteriore di un elenco, separato da una virgola.

Considerare L’Utilizzo Di Collegamenti Simbolici

Piuttosto che aggiungere direttamente una cartella, è possibile invece utilizzare un collegamento simbolico a specifici comandi, e posto il link simbolico in/usr/local/bin. Per esempio, Python installa nella sua cartella, ma piuttosto che l’aggiunta di tale cartella e il PERCORSO, utilizza un collegamento simbolico. È possibile visualizzare dove i collegamenti simbolici portare con ls-la:

ls-la $(che python)

E si possono creare link simbolici con ln:

ln -s comando /usr/local/bin/comando

Il PERCORSO Può Cambiare

Dal momento che la variabile PATH è di solito definito in .bashrc, il PERCORSO può essere diverso quando si esegue in un ambiente diverso. Questo è particolarmente rilevante se si esegue all’interno di uno script bash, o se si sta eseguendo un comando tramite cron. Se hai “comando non trovato” i problemi, ti consigliamo di controllare che il PERCORSO è impostato correttamente nell’ambiente in esecuzione.