En Mac OS X, los $PATH
valores predeterminados son:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
¿Cuáles son los valores predeterminados en Linux?
En Mac OS X, los $PATH
valores predeterminados son:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
¿Cuáles son los valores predeterminados en Linux?
Respuestas:
En una instalación de escritorio predeterminada de Ubuntu $PATH
es:
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Pero en un entorno chroot mínimo creado por debootstrap
, $PATH
solo contiene:
# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin
Los valores de ruta del entorno se almacenan en el archivo .bashrc en ubuntu.
La variable PATH de todo el sistema se define en /etc/environment
Hay una manera fácil de averiguarlo:
printenv
O, más directamente:
echo $PATH
Pero, si solo está buscando información rápida, Ubuntu generalmente establece el camino para:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / games:
Para preguntas como esta, generalmente puede desenterrar la respuesta leyendo la Biblia .
Dependiendo de qué Linux esté usando, puede ser diferente. Si ya tiene un inicio de sesión en Linux, simplemente escriba 'env' para ver las variables de entorno.
Si desea saber cómo se construye la variable PATH env, eche un vistazo a .bashrc y .bash_profile en su directorio de inicio. Si es más curioso, también puede consultar / etc / profile, /etc/profile.d/* (si existe) y el manual de bash (man bash).
bash
se establecerá PATH
en un valor predeterminado codificado si no está configurado en el entorno:
$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Podemos verificar que este valor esté codificado y no se lea desde el entorno o algún archivo, utilizando la strings
utilidad:
$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Sin embargo, obtengo un resultado diferente en mi máquina Arch Linux:
$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin
Por lo tanto, parece que este valor predeterminado se elige en el momento en que bash
se creó el binario, que depende de la distribución de Linux en uso.