Estoy usando Ubuntu Desktop 14.04, y como tal, estoy usando el shell sin inicio de sesión. Cuando abro el terminal GUI, primero las sesiones de shell sin inicio de sesión leen los siguientes archivos de inicio:
/etc/bash.bashrc
~/.bashrc
Los shells sin inicio de sesión heredan el entorno del proceso padre, que es un shell de inicio de sesión, por lo que la sesión también lee los siguientes archivos de inicio:
/etc/profile
~/.bash_profile
Sin embargo, no puedo encontrar el $PATHpor caminos de todo el sistema como /bin, /sbin, /usr/bin, /usr/sbin, sistema en cualquiera de estos archivos. ¿Dónde está el $PATHconjunto de estos directorios?
command-line
bash
Donato
fuente
fuente

$PATHes heredado por el shell de inicio de sesión principal o si cadabashinstancia lo vuelve a cargar ?$HOMEvariable. Por ejemplo, agregar$HOME/.composer/vendor/binaPATHin/etc/environmentno habilita la ejecución de binarios en este directorio sin un prefijo de ruta. Usar~/.composer/vendor/bintampoco funciona. Estoy encontrando que es necesario añadir la ruta absoluta, por ejemplo:/home/vagrant/.composer/vendor/bin. Esto parece relacionado (aunque no explica este comportamiento): askubuntu.com/questions/402353/…/etc/environment(y~/.pam/environment) es leído por elpam_envmódulo PAM, no por shell o cualquier otra cosa que entienda las variables de shell / entorno; Lo mismo ocurre con la~expansión. Por lo tanto, debe usar la ruta absoluta allí.