Hay múltiples formas de hacerlo. La solución real depende del propósito.
Los valores variables generalmente se almacenan en una lista de asignaciones o en un script de shell que se ejecuta al inicio del sistema o la sesión del usuario. En el caso del script de shell, debe usar una sintaxis y / export
o set
comandos de shell específicos .
Sistema de ancho
/etc/environment
Lista de tareas únicas, permite referencias. Perfecto para añadir directorios de todo el sistema como /usr/local/something/bin
a PATH
variable o definir JAVA_HOME
. Usado por PAM y SystemD.
/etc/environment.d/*.conf
Lista de tareas únicas, permite referencias. Perfecto para añadir directorios de todo el sistema como /usr/local/something/bin
a PATH
variable o definir JAVA_HOME
. La configuración se puede dividir en varios archivos, generalmente uno por cada herramienta (Java, Go, NodeJS). Usado por SystemD que por diseño no pasa esos valores a los shells de inicio de sesión del usuario.
/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 las PATH
entradas que son válidas para todos los usuarios /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.
/etc/profile
y /etc/profile.d/*
script de Shell. Esta es una buena opción para sistemas de solo shell. Esos archivos son leídos solo por shells en el modo de inicio de sesión.
/etc/<shell>.<shell>rc
. Script de shell. Esta es una mala elección porque es un shell específico. Utilizado en modo sin inicio de sesión.
Sesión de usuario
~/.pam_environment
. Lista de tareas ú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 se puede hacer referencia a otras variables que incluyen HOME
o PATH
por lo que tiene un uso limitado. Usado por PAM.
~/.xprofile
Script de shell. Esto se ejecuta cuando el usuario inicia sesión en el sistema X Window System. Las variables definidas aquí son visibles para cada aplicación X. Elección perfecta para ampliar PATH
con valores como ~/bin
o ~/go/bin
o definir usuario específico GOPATH
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.
~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
Shell script. Solo será visible para programas iniciados desde terminal o emulador de terminal. Es una buena opción para sistemas de solo shell. Usado por shells en modo de inicio de sesión.
~/.<shell>rc
. Script de shell. Esta es una mala elección porque es un shell específico. Usado por shells en modo sin inicio de sesión.
Notas
Gnome en Wayland inicia el shell de inicio de sesión del usuario para obtener el entorno. Se utiliza de manera efectiva las configuraciones de inicio de sesión de concha ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
archivos.
Manuales
- medio ambiente
- ambiente.d
- golpetazo
- guión
Distribución de documentación específica
Relacionado
¿Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?
.bash_profile
debería agregarse a la lista también?/etc/environment
. Pero, ¿puedo actualizarlo sin cerrar sesión e iniciar sesión? A veces no uso bash o sh, asísource /etc/environment
que no funciona.Es necesario añadir a su
~/.profile
o~/.bashrc
archivo.Dependiendo de lo que esté haciendo, también es posible que desee vincular a binarios:
Tenga en cuenta que esto no actualizará automáticamente su ruta durante el resto de la sesión. Para hacer esto, debes ejecutar:
fuente
$PATH
y/usr/bin
. 2)/usr/bin
Incluso debería estar allí. 3) ¿No deberías preferir usar/usr/local/bin
?cd
al directorio en el que lo descomprimió, luego ejecutals
--- y luego se da cuenta de que el tarball tenía un programa malicioso llamadols
.En Ubuntu, edita
/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:Así que puedes abrir este archivo como root y agregar lo que quieras.
Para resultados inmediatos, ejecute (intente como usuario normal y root):
ACTUALIZAR:
Si usa
zsh
(también conocido como Z Shell), agregue esta línea justo después de los comentarios en/etc/zsh/zshenv
:Encontré este pequeño capricho en Ubuntu 15.10, pero si su zsh no está obteniendo la RUTA correcta , esta podría ser la razón
fuente
$PATH
también se define/etc/profile
en Arch Linux.Ponga la
export
declaración en~/.bashrc
. Mi .bashrc contiene esto:fuente
.profile
', no se encontró.bashrc
source ~/.bashrc
para volver a cargar la.bashrc
configuración. Entonces funcionaráexport
palabra clave solo es necesaria si aúnPATH
no está marcada como una variable de entorno, lo cual será casi incondicional. SimplementePATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
tendría el mismo efecto.Puede configurar
$PATH
permanentemente de 2 maneras.Para establecer la ruta para un usuario en particular: Es posible que deba ingresar la entrada en el
.bash_profile
directorio de inicio del usuario.por ejemplo, en mi caso, estableceré la ruta de Java en el perfil de usuario de Tomcat
Para establecer una ruta común para TODOS los usuarios del sistema, es posible que deba establecer una ruta como esta:
fuente
/etc/profiles
con uns
en su distribución? El mío no tienes
. Creo que tienes un error tipográfico.Puede usar en Centos o RHEL para usuarios locales:
Esto agrega el directorio actual (o puede usar otro directorio) a la RUTA, esto lo hace permanente pero surte efecto en el próximo inicio de sesión del usuario.
Si no desea volver a iniciar sesión, puede usar:
Que vuelva a cargar
# User specific environment and startup programs
este comentario está presente en.bash_profile
fuente
También puede configurar permanentemente, editando uno de estos archivos:
/etc/profile
(para todos los usuarios)~/.bash_profile
(para el usuario actual)~/.bash_login
(para el usuario actual)~/.profile
(para el usuario actual)También puede usar
/etc/environment
para establecer una variable de entorno PATH permanente, pero no admite la expansión de variables .Extraído de: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
fuente
Ayer me topé con esta pregunta cuando buscaba una forma de agregar una carpeta que contenía mis propios scripts a la RUTA, y me sorprendió descubrir que mi propio
~/.profile
archivo (en Linux Mint 18.1) ya contenía esto:Por lo tanto, todo lo que tenía que hacer era crear la carpeta
~/bin
y poner mis scripts allí.fuente
Creo que la forma más elegante es:
1.Agregue esto en el archivo ~ / .bashrc Ejecute este comando
agrega tu camino dentro de él
2.source ~ / .bashrc
(Ubuntu)
fuente
Puede agregar esa línea al archivo de configuración de la consola (por ejemplo, .bashrc), o al perfil.
fuente
/home/(username)
ls -a
verlos).Agregar permanentemente la variable PATH
Global:
Local (solo para usuarios):
Para reinicio global . Para locales relogin.
Ejemplo
Antes de:
Después:
Alternativamente, solo puede editar el perfil:
Otra forma (gracias gniourf_gniourf):
fuente
echo 'export PATH=$PATH:/new/path/variable'
... Y, por cierto,export
es muy probable que la palabra clave sea inútil ya que laPATH
variable ya está marcada como exportada./usr/local
usando~/.bashrc
. ahora si tiene la intención de agregar/opt/bin
a la misma variable usando/etc/bash.bashrc
; $ PATH se traducirá a la misma cadena estática, como resultado $ PATH se reemplazará en lugar de agregarse a ... Será una cuestión de preferencia del sistema a un archivo sobre otro1.modifique el archivo "/ etc / profile".
Presione la tecla "i" para ingresar el estado de edición y mover el cursor al final del archivo. Entradas adicionales:
Presione la tecla "Esc" para salir del estado de edición, ': wq', guarde el archivo.
2.Haga que la configuración sea efectiva
Explique: el archivo de perfil funciona para todos los usuarios, si desea ser válido solo para el usuario activo, configure el archivo ".bashrc"
fuente
Después de tanta investigación, encontré una solución simple para esto (estoy usando un sistema operativo básico ), inspirado en el siguiente enlace .
Creo que esta es la solución permanente para configurar la ruta en el aleteo en la distribución de Ubuntu
Espero que esto sea útil.
fuente
los archivos donde agrega el comando de exportación dependen de si está en modo de inicio de sesión o no.
si está en modo de inicio de sesión, los archivos que está buscando son / etc / bash o /etc/bash.bashrc
si está en modo sin inicio de sesión, está buscando el archivo /.profile o los archivos dentro del directorio /.profiles.d
los archivos mencionados anteriormente si están las variables del sistema.
fuente
Añadir a la
/etc/profile.d
carpeta de scripts[name_of_script].sh
con la línea:export PATH=$PATH:/dir
. Cada secuencia de comandos dentro de la/etc/profile.d
carpeta se ejecuta automáticamente al/etc/profile
iniciar sesión.fuente
Zues77 tiene la idea correcta. El OP no dijo "cómo puedo hackear mi camino a través de esto". OP quería saber cómo agregar permanentemente a $ PATH:
Aquí es donde está configurado para todo y es el mejor lugar para cambiarlo para todas las cosas que necesitan $ PATH
fuente
Mi respuesta se refiere a la configuración de
go-lang
onUbuntu linux/amd64
. Me he enfrentado al mismo problema de configurar la ruta de las variables de entorno (GOPATH
yGOBIN
), perderla en la salida de la terminal y reconstruirla usandosource <file_name>
cada vez. El error fue poner la ruta (GOPATH
yGOBIN
) en la~/.bash_profile
carpeta. Después de pasar unas buenas horas, encontré que la solución era ponerGOPATH
yGOBIN
en el~/.bash_rc
archivo de la forma:y al hacerlo, la instalación de go funcionó bien y no hubo pérdidas de ruta.
EDITAR 1: La razón por la cual este problema puede estar relacionado es que la configuración para shells sin inicio de sesión como su terminal ubuntu o gnome-terminal donde ejecutamos el código go se toma del
~./bash_rc
archivo y la configuración de los shells de inicio de sesión se toma del~/.bash_profile
archivo, y desde~/.profile
archivo si el~/.bash_profile
archivo no es accesible.fuente
Digamos que está ejecutando MacOS y tiene un archivo binario en el que confía y desea ponerlo a disposición en todo su sistema, pero no necesariamente quiere el directorio en el que se agregará el archivo binario a su RUTA, puede optar por copiar / mover el binario a
/usr/local/bin
, que ya debería estar en su RUTA. Esto hará que el binario sea ejecutable como cualquier otro binario al que ya tenga acceso en su terminal.fuente
Se puede agregar directamente usando el siguiente comando:
fuente
bash
, por lo que no es muy útil.la mejor manera simple es la siguiente línea:
PATH="<directory you want to include>:$PATH"
en su archivo .bashrc en el directorio de inicio.
No se restablecerá incluso si cierra el terminal o reinicia su PC. Es permanente
fuente
Creo que la forma más elegante es:
1.Agregue esto en el archivo ~. / Bashrc
2.source ~ / .bashrc
(Ubuntu)
fuente
Una forma de agregar una ruta permanente, que funcionó para mí, es:
reinicie su computadora y aquí vamos camino habrá aplausos permanentes.
fuente
Para la distribución de Debian, debe:
fuente
Esta es una frase . Agrega una línea al
.bashrc
. La línea comprobará si el directorio ya se ha agregado a la ruta y agregará si no. Esto evitará la duplicación de tu directorio en la ruta cada vez que lo obtengas.bashrc
.fuente