¿Cómo puedo añadir un directorio al $PATH
en Ubuntu y hacer los cambios permanentes?
Una ruta establecida en .bash_profile
sólo se establecerá en un shell de inicio de sesión de bash (bash -l
).
Si pones tu ruta en .profile
estará disponible para toda tu sesión de escritorio. Esto significa que incluso metacity la utilizará.
Por ejemplo ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Además, puedes comprobar la variable PATH de un proceso mirando su entorno en /proc/[pid]/environ
(sustituye [pid] por el número de ps axf
). Por ejemplo, utilice grep -z "^PATH" /proc/[pid]/environ
.
bash
como shell de inicio de sesión no analiza .profile
si existe .bash_profile
o .bash_login
. Desde man bash
:
busca ~/.bash_profile, ~/.bash_login, y ~/.profile, en ese orden, y lee y ejecuta los comandos del primero que existe y sea legible.
Vea las respuestas más abajo para información sobre .pam_environment
, o .bashrc
para shells interactivos que no son de inicio de sesión, o establezca el valor globalmente para todos los usuarios poniendo un script en /etc/profile.d/
o use /etc/X11/Xsession.d/
para afectar la sesión de los administradores de pantalla.
Edita .bashrc
en tu directorio personal y añade la siguiente línea:
export PATH="/path/to/dir:$PATH"
Para que los cambios surtan efecto, tendrás que crear tu .bashrc
o cerrar la sesión (o reiniciar el terminal). Para obtener su .bashrc
, simplemente escriba
$ source ~/.bashrc
Añadirlo a .bashrc funcionará pero creo que la forma más tradicional de configurar las variables de ruta es en .bash_profile añadiendo las siguientes líneas.
PATH=$PATH:/my/path/foo
export PATH
Según este hilo parece que el comportamiento de Ubuntu es ligeramente diferente al de RedHat y los clones.