¿Cómo agrego un directorio al $PATH
en Ubuntu y hago que los cambios sean permanentes?
Genial, eso funcionó. Vi que se añadirá automáticamente la carpeta bin si la creo, así que solo la usé en lugar de scripts. Gracias.
¿Cómo agrego un directorio al $PATH
en Ubuntu y hago que los cambios sean permanentes?
Una ruta establecida en .bash_profile
solo se establecerá en un shell de inicio de bash (bash -l
). Si colocas tu ruta en .profile
estará disponible en toda la sesión de tu escritorio. Eso significa que incluso metacity la utilizará.
Por ejemplo en ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Por cierto, puedes verificar la variable PATH de un proceso mirando su entorno en /proc/[pid]/environ
(reemplaza [pid] con el número de ps axf
). Por ejemplo, usa grep -z "^PATH" /proc/[pid]/environ
bash
como shell de inicio no analiza .profile
si existen tanto .bash_profile
como .bash_login
. Según man bash
:
busca ~/.bash_profile, ~/.bash_login, y ~/.profile, en ese orden, y lee y ejecuta comandos desde el primero que exista y sea legible.
Consulta las respuestas a continuación para obtener información sobre .pam_environment
, o .bashrc
para shells interactivos no de inicio, o establece el valor globalmente para todos los usuarios colocando un script en /etc/profile.d/
o utiliza /etc/X11/Xsession.d/
para afectar la sesión de los administradores de pantalla.
Genial, eso funcionó. Vi que se añadirá automáticamente la carpeta bin si la creo, así que solo la usé en lugar de scripts. Gracias.
En Xbunutu, el archivo .profile no se ejecuta, así que lo puse en el archivo .bashrc y funciona.
Este fragmento de documentación está muy bien hecho: Documentación oficial sobre variables de entorno. Considera leerlo (sin mencionar que está actualizado a la última versión de las reglas para agregar valores a variables de entorno).
Edit .bashrc
en tu directorio principal y agrega la siguiente línea:
export PATH="/ruta/a/dir:$PATH"
Necesitarás ejecutar el comando source en tu .bashrc
o cerrar sesión/iniciar sesión (o reiniciar la terminal) para que los cambios surtan efecto. Para ejecutar el comando source en tu .bashrc
, simplemente escribe
$ source ~/.bashrc
Estaba asumiendo que estabas en tu directorio de inicio, ya que ahí es donde se encuentra el archivo .bashrc que quieres editar.
El lugar recomendado para definir variables de entorno permanentes, a nivel del sistema, que se apliquen a todos los usuarios es en:
/etc/environment
(donde se define el PATH
por defecto)
Esto funcionará en el escritorio o la consola, en gnome-terminal o TTY, llueva o truene ;)
Para editar, abre la terminal y escribe:
sudoedit /etc/environment
(o abre el archivo usando sudo
en tu editor de texto favorito)
Para hacer que funcione sin reiniciar, ejecuta . /etc/environment
o source /etc/environment
. Dado que este archivo es simplemente un script simple, se ejecutará y asignará la nueva ruta a la variable de entorno PATH
. Para verificarlo, ejecuta env
y ve el valor de PATH
en la lista.
Relacionado:
Esto es exactamente lo que necesitaba. Aprovisionando una imagen de máquina virtual temporal a través de Vagrant y necesitaba agregar Node y NPM al PATH.
Para que los cambios surtan efecto, ejecuta . /etc/environment (sí, punto, un espacio y /etc/environment). Dado que este archivo es simplemente un script, se ejecutará y asignará la nueva ruta a la variable de entorno PATH. Para verificar, ejecuta env y verifica el valor de PATH en la lista.
Por lo general, es más seguro agregar su ruta personalizada al final de PATH en lugar de al principio. Esto evita reemplazar accidentalmente comandos del sistema con sus programas (o programas maliciosos de otra persona). Esto también evita mucha confusión cuando otra persona trabaja en su sistema (o le da consejos) y obtienen resultados inesperados de comandos que ha "reemplazado".
Para completos principiantes (como yo) que se sienten más cómodos con la GUI:
$HOME
..profile
y selecciona Abrir con Editor de Texto.PATH="$PATH:/mi/ruta/foo"
..profile
).
Editar el archivo .profile ya no se recomienda. Aún puedes usar este método para editar el archivo .pam_environment, consulta: help.ubuntu.com/community/EnvironmentVariables
¡Gracias @PulsarBlow! No estoy seguro de cuál es exactamente la diferencia y el beneficio sin embargo... Este es el URL directo a la sección relevante: help.ubuntu.com/community/…
Esta respuesta provocó que mi sistema dejara de registrar sesión debido a que se sobrescribieron todos los caminos. Usando Ubuntu 16.04.
EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.
4 votos
help.ubuntu.com/community/EnvironmentVariables Aquí tienes todo lo que necesitas saber. Descubrí que gran parte de la información aquí era incorrecta o al menos el método no fue sugerido. Esta es una gran pieza de información que te permitirá saber dónde modificar tus variables de entorno basándote en la razón por la que lo estás haciendo y exactamente cómo hacerlo sin arruinar todo (como hice yo siguiendo algunos de los mencionados consejos erróneos). ¡Hasta luego, y gracias por todos los peces!