Variable de RUTA permanente

38

¿Cómo haré que esta /media/De Soft/mongodb/binvariable PATH sea permanente?

Todos dicen " export PATH=$PATH:media/De\ Soft/mongodb/bina tu ~/.profile, o .bashrc, o .zshenvdependiendo de tu caparazón".

No sé qué es ~/.profile, o .bashrc, o .zshenv. ¿Qué hacen en realidad?

¿Cómo export PATH=$PATH:my/pathagregaré a mi .profile / .bashrc / .zshenv?

Estoy usando 64 bits Ubuntu 14.04 LTS con terminal predeterminado.

Towhid
fuente

Respuestas:

70

Son archivos de configuración. De una sola mano:

  • Abra una ventana de terminal usando Ctrl + Alt + T
  • Ejecuta el comando gedit ~/.profile
  • Agrega la línea

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    hasta el fondo y guardar

  • Cerrar sesión e iniciar sesión nuevamente

Editar:

Una forma más segura es usar comillas. Es necesario hacerlo si uno o más directorios en el original PATHcontienen espacios. Asi que:

export PATH="$PATH:/media/De Soft/mongodb/bin"
Gunnar Hjalmarsson
fuente
@GunnarHjalmarsson, ¿realmente necesito exportar PATH var? Tal vez, ¿se hace por defecto en algún otro script? He comprobado por ~ / .profile y hay una variable PATH, pero no se exporta explícitamente: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87
44
@ yuranos87: ​​No, tienes razón; al modificar PATHen ~/.profile, la exportación es redundante, ya que PATHya es una variable de entorno.
Gunnar Hjalmarsson el
1
No necesita cerrar sesión e iniciar sesión nuevamente. Uso source ~/.profile.
timbo
1
@timbo: Eso no hace que la variable esté disponible para los procesos ya iniciados en la sesión (a excepción del terminal actual).
Gunnar Hjalmarsson
1
¿No necesita una comilla en la cadena como en export PATH="$PATH:/media/De\ Soft/mongodb/bin"? ¿Es opcional?
Bruno Bentzen
4

Escriba lo siguiente en una ventana de terminal

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

Cierre la terminal y reinicie la computadora. La ruta debe incluir / media / De \ Soft / mongodb / bin cuando escribe esto en el terminal:

echo $PATH
Nivedita Velagaleti
fuente
13
Eso solo funciona para la sesión de terminal actual. Debe estar en ~/.profile(o ~/.bashrcen distribuciones comunes de GNU / Linux ... incluso ~/.bash_profile) para ejecutarse en cada carga de consola.
Alejandro Iván
convenido. pero al reiniciar el sistema se carga en la variable de ruta.
Nivedita Velagaleti
10
@NiveditaVelagaleti: No, no lo es a menos que lo haga persistente a través de un archivo de configuración. El comando de terminal no se modifica de forma PATHpersistente.
Gunnar Hjalmarsson el
2

Para cambiar permanentemente PATH, debe realizar cambios en el /etc/environmentarchivo. Haga una copia de seguridad antes de editar:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

salida de muestra:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Las rutas están delimitadas por, :así que para agregar una nueva ruta, diga x/y/zcómo será nuestro /etc/environmentaspecto:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Xaqron
fuente