Su Mac OS X, i $PATH
valori predefiniti sono:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Quali sono i valori predefiniti su Linux?
Su Mac OS X, i $PATH
valori predefiniti sono:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Quali sono i valori predefiniti su Linux?
Risposte:
Su un'installazione desktop Ubuntu predefinita $PATH
è:
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Ma in un ambiente chroot minimo creato da debootstrap
, $PATH
contiene solo:
# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin
I valori del percorso dell'ambiente sono memorizzati nel file .bashrc in Ubuntu.
La variabile PATH a livello di sistema è definita in /etc/environment
C'è un modo semplice per scoprirlo:
printenv
O, più direttamente:
echo $PATH
Ma, se stai solo cercando alcune informazioni rapide, Ubuntu in genere imposta il percorso su:
/ Usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / games:
Per domande come questa, di solito puoi cercare la risposta leggendo la Bibbia .
A seconda di quale Linux stai usando, potrebbe essere diverso. Se disponi già di un accesso a un Linux, digita "env" per visualizzare le variabili di ambiente.
Se vuoi sapere come viene creata la variabile env PATH, dai un'occhiata a .bashrc e .bash_profile nella tua home directory. Se sei più curioso, puoi anche guardare / etc / profile, /etc/profile.d/* (se esiste) e il manuale per bash (man bash).
bash
verrà impostato PATH
su un valore predefinito hardcoded se non è impostato nell'ambiente:
$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Possiamo verificare che questo valore sia effettivamente codificato, e non letto dall'ambiente o da alcuni file, usando l' strings
utilità:
$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Tuttavia, ottengo un risultato diverso sulla mia macchina Arch Linux:
$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin
Quindi, sembra che questo valore predefinito sia scelto al momento della bash
creazione del binario, che dipende dalla distribuzione Linux in uso.