GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configurar permanentemente $PATH en Linux/Unix?

Debe agregarlo a su ~/.profile o ~/.bashrc archivo.

export PATH="$PATH:/path/to/dir"

Dependiendo de lo que esté haciendo, es posible que también desee vincular a binarios:

cd /usr/bin
sudo ln -s /path/to/binary binary-name

Tenga en cuenta que esto no actualizará automáticamente su ruta durante el resto de la sesión. Para hacer esto, debe ejecutar:

source ~/.profile 
or
source ~/.bashrc

En Ubuntu, edite /etc/environment . Su único propósito es almacenar variables de entorno . Originalmente, la variable $PATH se define aquí.

Esta es una pasta de mi /etc/environment archivo:

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

Así que puedes abrir este archivo como root y agregar lo que quieras.

Para inmediato resultados,

Ejecutar (pruebe como usuario normal y raíz):

source /etc/environment && export PATH

Si usa Z shell (zsh ), agregue esta línea justo después de los comentarios en /etc/zsh/zshenv archivo:

source /etc/environment

Encontré esta pequeña peculiaridad en Ubuntu 15.10 (Wily Werewolf), pero si tu zsh no obtiene la RUTA correcta , este podría ser el motivo.


Hay múltiples formas de hacerlo. La solución real depende del propósito.

Los valores de las variables generalmente se almacenan en una lista de asignaciones o en un script de shell que se ejecuta al inicio del sistema o de la sesión del usuario. En el caso del script de shell, debe usar una sintaxis de shell específica y export o set comandos.

Todo el sistema

  1. /etc/environment Lista de asignaciones únicas. Permite referencias. Perfecto para agregar directorios de todo el sistema como /usr/local/something/bin a PATH variable o definición JAVA_HOME . Usado por PAM y systemd.

  2. /etc/environment.d/*.conf Lista de asignaciones únicas. Permite referencias. Perfecto para agregar directorios de todo el sistema como /usr/local/something/bin a PATH variable o definición JAVA_HOME . La configuración se puede dividir en varios archivos, normalmente uno por cada herramienta (Java, Go y Node.js). Utilizado por systemd que, por diseño, no pasa esos valores a los shells de inicio de sesión del usuario.

  3. /etc/xprofile Script de shell ejecutado al iniciar la sesión del sistema X Window. Esto se ejecuta para cada usuario que inicia sesión en el sistema X Window. Es una buena opción para PATH entradas que son válidas para todos los usuarios como /usr/local/something/bin . El archivo está incluido en otro script, así que use la sintaxis de shell POSIX, no la sintaxis de su shell de usuario.

  4. /etc/profile y /etc/profile.d/* Guión de concha. Esta es una buena opción para sistemas de solo shell. Esos archivos son leídos solo por shells en modo de inicio de sesión.

  5. /etc/<shell>.<shell>rc . Guión de concha. Esta es una mala elección porque es específica de un solo caparazón. Se utiliza en modo sin inicio de sesión.

Sesión de usuario

  1. ~/.pam_environment . Lista de asignaciones únicas, no se permiten referencias. Cargado por PAM al comienzo de cada sesión de usuario, es irrelevante si se trata de una sesión o shell del sistema X Window. No puede hacer referencia a otras variables, incluido HOME o PATH por lo que tiene un uso limitado. Utilizado por PAM.

  2. ~/.xprofile Guión de concha. Esto se ejecuta cuando el usuario inicia sesión en el sistema X Window System. Las variables definidas aquí son visibles para todas las aplicaciones X. Elección perfecta para extender PATH con valores como ~/bin o ~/go/bin o definiendo GOPATH específico del usuario o NPM_HOME . El archivo está incluido en otro script, así que use la sintaxis de shell POSIX, no la sintaxis de su shell de usuario. Su editor de texto gráfico o IDE iniciado por acceso directo verá esos valores.

  3. ~/.profile , ~/.<shell>_profile , ~/.<shell>_login Guión de concha. Será visible solo para programas iniciados desde terminal o emulador de terminal. Es una buena opción para sistemas de solo shell. Utilizado por shells en modo de inicio de sesión.

  4. ~/.<shell>rc . Guión de concha. Esta es una mala elección porque es específica de un solo caparazón. Usado por shells en modo sin inicio de sesión.

Notas

GNOME en Wayland inicia un shell de inicio de sesión de usuario para obtener el entorno. Utiliza efectivamente las configuraciones de shell de inicio de sesión ~/.profile , ~/.<shell>_profile , ~/.<shell>_login archivos.

Páginas man

  • ambiente
  • entorno.d https://linux.die.net/man/1/entorno.d
  • golpe
  • guion

Documentación específica de distribución

  • Ubuntu
  • Arco Linux

Relacionado

¿Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?


Linux
  1. ¿Cómo cambiar (permanentemente) el Shell predeterminado después de iniciar sesión en Ttyn específico en Linux?

  2. Cómo cambiar Shell en Linux

  3. Cómo establecer la variable $Path en Linux

  4. Linux/UNIX:Cómo encontrar archivos que tienen SUID/SGID configurado

  5. UNIX/Linux:Cómo instalar y configurar mutt

Cómo configurar un trabajo cron en Linux

Cómo agregar un directorio a PATH en Linux

Cómo configurar o cambiar el nombre de host en Linux

Cómo depurar scripts de Bash en Linux y Unix

Cómo cambiar un Shell de usuario en Linux

Cómo configurar $PATH en el sistema Linux de forma permanente