lista ejemplos completa comandos comando basicos linux bash unix path zsh

ejemplos - ¿Cómo establecer permanentemente $ PATH en Linux/Unix?



comandos shell linux (20)

Agregue a la carpeta /etc/profile.d script [name_of_script].sh con línea: export PATH=$PATH:/dir . Cada script en la carpeta /etc/profile.d se ejecuta automáticamente por /etc/profile al iniciar sesión.

Estoy tratando de agregar un directorio a mi ruta para que siempre esté en mi ruta de Linux. He intentado:

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

Esto funciona, sin embargo, cada vez que salgo del terminal y comienzo una nueva instancia de terminal, esta ruta se pierde y necesito ejecutar el comando de exportación nuevamente.

¿Cómo puedo hacerlo para que esto se establezca de forma permanente?


Creo que la forma más elegante es:

1.add esto en el archivo ~. / Bashrc

if [ -d "new-path" ]; then PATH=$PATH:new-path fi

2.source ~ / .bashrc

(Ubuntu)


Creo que la forma más elegante es:

1.add esto en el archivo ~ / .bashrc Ejecuta este comando

gedit ~ / .bashrc

agrega tu camino en su interior

export PATH = $ PATH: / opt / node / bin

2.source ~ / .bashrc

(Ubuntu)


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

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 resultados inmediatos, Ejecutar (intente como usuario normal y root):

source /etc/environment && export PATH

ACTUALIZAR:

Si usa zsh (también conocido como Shell Z), agregue esta línea justo después de los comentarios en /etc/zsh/zshenv :

source /etc/environment

Encontré este pequeño capricho en Ubuntu 15.10, pero si su zsh no está obteniendo el PATH correcto, esta podría ser la razón


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 utilizar una sintaxis de shell específica.

Todo el sistema

  1. /etc/environment Lista de tareas únicas. Perfecto para agregar directorios de todo el sistema como /usr/local/something/bin a la variable PATH o definir JAVA_HOME .
  2. /etc/xprofile script de shell se ejecuta al iniciar la sesión de X Window System. Esto se ejecuta para todos los usuarios que inician sesión en X Window System. Es una buena opción para entradas PATH que son válidas para todos los usuarios como /usr/local/something/bin . El archivo está incluido en otra secuencia de comandos, así que use la sintaxis de shell POSIX no la sintaxis de su shell de usuario.
  3. /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.
  4. /etc/<shell>.<shell>rc . Script de shell Esta es una mala elección porque es un shell específico.

Sesion de usuario

  1. ~/.pam_environment . Lista de tareas únicas. Cargado por PAM al inicio de cada sesión de usuario irrelevante si es una sesión o shell de X Window System. No puede hacer referencia a otra variable, como HOME o PATH por lo que tiene un uso limitado.
  2. ~/.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. La opción perfecta para extender PATH con valores como ~/bin o ~/go/bin o definir GOPATH o NPM_HOME específicos del usuario. El archivo está incluido en otra secuencia de comandos, 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 script. Solo será visible para los programas iniciados desde el terminal o el emulador de terminal. Es una buena opción para sistemas de solo shell.
  4. ~/.<shell>rc . Script de shell Esta es una mala elección porque es un shell específico.

Documentación específica de distribución.


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


Los archivos en los que 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 busca son / etc / bash o /etc/bash.bashrc

Si no está en modo de inicio de sesión, está buscando el archivo /.profile o los archivos dentro del directorio /.profiles.d

Los archivos mencionados anteriormente son donde están las variables del sistema.


Me encontré con esta pregunta ayer al buscar una manera de agregar una carpeta que contenga mis propios scripts a la RUTA, y me sorprendió descubrir que mi propio archivo ~/.profile (en Linux Mint 18.1) ya contenía esto:

# set PATH so it includes user''s private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi

Por lo tanto, todo lo que tenía que hacer era crear la carpeta ~/bin y poner mis scripts allí.


Mi respuesta se refiere a la configuración de go-lang en Ubuntu linux/amd64 . Me he enfrentado al mismo problema de configurar la ruta de las variables de entorno ( GOPATH y GOBIN ), perdiéndola en la salida del terminal y reconstruyéndola utilizando la source <file_name> cada vez. El error fue colocar la ruta ( GOPATH y GOBIN ) en la carpeta ~/.bash_profile . Después de perder algunas buenas horas, encontré que la solución era poner GOPATH y GOBIN en el archivo ~/.bash_rc de la manera siguiente:

export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH:$GOBIN

Y al hacerlo, la instalación de Go funcionó bien y no hubo pérdidas de trayectoria.

EDIT 1: el motivo por el cual se puede relacionar este problema es que las configuraciones para shells que no son de inicio de sesión como su terminal ubuntu o gnome-terminal donde ejecutamos el código go se toman del archivo ~./bash_rc y se toman las configuraciones para shells de inicio de sesión desde el archivo ~/.bash_profile , y desde el archivo ~/.profile si el archivo ~/.bash_profile es inaccesible.


Para la distribución de Debian, tienes que:

- edit ~/.bashrc e.g: vim ~/.bashrc - add export PATH=$PATH:/path/to/dir - then restart your computer. Be aware that if you edit ~/.bashrc as root, your environment variable you added will work only for root


Ponga la declaración de export en ~/.bashrc . Mi .bashrc contiene esto:

export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH


Puede agregar esa línea a su archivo de configuración de la consola (por ejemplo, .bashrc), o a .profile


Puede establecer $PATH permanentemente de 2 maneras.

  1. Para establecer la ruta de acceso para un usuario en particular: Es posible que deba hacer la entrada en .bash_profile en el directorio de inicio del usuario.

    Por ejemplo, en mi caso, estableceré la ruta de Java en el perfil de usuario de Tomcat.

    [tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/tomcat/.bash_profile

  2. Para establecer una ruta común para TODOS los usuarios del sistema, es posible que necesite establecer una ruta como esta:

    [root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile


Puede usar en Centos o RHEL para usuarios locales:

echo $"export PATH=/$PATH:$(pwd)" >> ~/.bash_profile

Esto agrega el directorio actual (o puede usar otro directorio) a la RUTA, esto lo hace permanente pero tendrá efecto en el próximo inicio de sesión del usuario.

Si no desea volver a iniciar sesión, puede usar:

source ~/.bash_profile

Que vuelve a cargar el # User specific environment and startup programs este comentario está presente en .bash_profile


Se puede agregar directamente usando el siguiente comando:

echo ''export PATH = $ PATH: / new / directory'' >> ~ / .zshrc source ~ / .zshrc


También puede establecer de forma permanente, 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


Una forma de agregar una ruta permanente, que funcionó para mí, es: cd /etc/profile.d touch custom.sh vi custom.sh export PATH = $ PATH: / path según su configuración / reinicie su computadora y aquí vamos por la ruta ¿Habrá permanentemente vítores?


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:

sudo nano /etc/profile

Aquí es donde está configurado para todo y es el mejor lugar para cambiarlo para todas las cosas que necesitan $ PATH


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

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

Dependiendo de lo que estés haciendo, es posible que también quieras un enlace simbólico a binarios:

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

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

source ~/.profile or source ~/.bashrc


Añadir permanentemente la variable PATH

Global:

echo "export PATH=$PATH:/new/path/variable" >> /etc/profile

Local (solo para usuarios):

echo "export PATH=$PATH:/new/path/variable" >> ~/.profile

Para reinicio global . Para el inicio de sesión local .

Ejemplo

Antes de:

$ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin

Después:

$ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

Alternativamente puedes simplemente editar el perfil:

$ cat /etc/profile #!/bin/sh export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

Otra forma (gracias gniourf_gniourf):

echo ''PATH=$PATH:/new/path/variable'' >> /etc/profile

¡No deberías usar comillas dobles aquí! echo ''export PATH = $ PATH: / new / path / variable'' ... Y, por cierto, la palabra clave de exportación es probablemente inútil ya que la variable PATH es muy probable que ya esté marcada como exportada. - gniourf_gniourf