He leído en un par de lugares que PATH
está configurado /etc/profile
o el .profile
archivo que está en el directorio de inicio.
¿Son estos los únicos lugares en los que se establece el camino? Quiero una mejor comprensión de ello.
En el /etc/profile
archivo, como dice el siguiente comentario "system-wide .profile file for the Bourne shell"
. ¿Eso significa que los archivos de perfil son los principales archivos de configuración para bash?
En ese archivo no veo que PATH
se establezca la var. En el .profile
archivo en el directorio de inicio hay esta línea:
PATH="$HOME/bin:$PATH"
Eso se restablece PATH
por el aspecto porque concatena la $PATH
cadena ya establecida con el $HOME/bin:
derecho? ¿Pero si etc/profile
y ~/.profile
son los únicos archivos de configuración de PATH
dónde $PATH
proviene esa línea de código si no está definida /etc/profile
?
¿Alguien con experiencia puede dar una explicación amplia y detallada de la PATH
variable? ¡Gracias!
fuente
/etc/bashrc
. Esto determina cómo se inicia BASH, que debe incluir todas las variables de entorno iniciales. En mi sistema,/etc/bashrc
lee desde/etc/profile.d
pero parece que solo tiene 3 archivos, por/etc/profile.d
lo que su distribución puede hacerlo de manera diferente.Para agregar a las otras respuestas:
bash
se estableceráPATH
en un valor predeterminado codificado si no está configurado en el entorno. En una máquina Ubuntu Server 16.04.2, obtengo:Podemos verificar que este valor esté codificado y no se lea desde el entorno o algún archivo, utilizando la
strings
utilidad:Sin embargo, obtengo un resultado diferente en mi máquina Arch Linux:
Por lo tanto, parece que este valor predeterminado se elige en el momento en que
bash
se creó el binario, que depende del sistema operativo / distribución en uso.fuente
Cosas que no veo:
.profile
se copian, etc., en la creación de la cuentaEn cuanto a Ken Thompson, puede que se sorprenda de su: "Vistas en Linux" .
fuente