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 / exporto setcomandos de shell específicos .
Sistema de ancho
/etc/environmentLista de tareas únicas, permite referencias. Perfecto para añadir directorios de todo el sistema como /usr/local/something/bina PATHvariable o definir JAVA_HOME. Usado por PAM y SystemD.
/etc/environment.d/*.confLista de tareas únicas, permite referencias. Perfecto para añadir directorios de todo el sistema como /usr/local/something/bina PATHvariable 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/xprofileScript 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 PATHentradas 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/profiley /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 HOMEo PATHpor lo que tiene un uso limitado. Usado por PAM.
~/.xprofileScript 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 PATHcon valores como ~/bino ~/go/bino definir usuario específico GOPATHo 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>_loginShell 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>_loginarchivos.
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_profiledeberí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/environmentque no funciona.Es necesario añadir a su
~/.profileo~/.bashrcarchivo.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
$PATHy/usr/bin. 2)/usr/binIncluso debería estar allí. 3) ¿No deberías preferir usar/usr/local/bin?cdal 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/environmentarchivo: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
$PATHtambién se define/etc/profileen Arch Linux.Ponga la
exportdeclaración en~/.bashrc. Mi .bashrc contiene esto:fuente
.profile', no se encontró.bashrcsource ~/.bashrcpara volver a cargar la.bashrcconfiguración. Entonces funcionaráexportpalabra clave solo es necesaria si aúnPATHno está marcada como una variable de entorno, lo cual será casi incondicional. SimplementePATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATHtendría el mismo efecto.Puede configurar
$PATHpermanentemente de 2 maneras.Para establecer la ruta para un usuario en particular: Es posible que deba ingresar la entrada en el
.bash_profiledirectorio 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/profilescon unsen 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 programseste comentario está presente en.bash_profilefuente
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/environmentpara 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
~/.profilearchivo (en Linux Mint 18.1) ya contenía esto:Por lo tanto, todo lo que tenía que hacer era crear la carpeta
~/biny 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 -averlos).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,exportes muy probable que la palabra clave sea inútil ya que laPATHvariable ya está marcada como exportada./usr/localusando~/.bashrc. ahora si tiene la intención de agregar/opt/bina 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.dcarpeta de scripts[name_of_script].shcon la línea:export PATH=$PATH:/dir. Cada secuencia de comandos dentro de la/etc/profile.dcarpeta se ejecuta automáticamente al/etc/profileiniciar 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-langonUbuntu linux/amd64. Me he enfrentado al mismo problema de configurar la ruta de las variables de entorno (GOPATHyGOBIN), perderla en la salida de la terminal y reconstruirla usandosource <file_name>cada vez. El error fue poner la ruta (GOPATHyGOBIN) en la~/.bash_profilecarpeta. Después de pasar unas buenas horas, encontré que la solución era ponerGOPATHyGOBINen el~/.bash_rcarchivo 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_rcarchivo y la configuración de los shells de inicio de sesión se toma del~/.bash_profilearchivo, y desde~/.profilearchivo si el~/.bash_profilearchivo 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