Como administrador del sistema, probablemente sepa lo importantes que son las variables de entorno en Bash .
Las variables de entorno se utilizan para definir variables que tendrán un impacto en cómo se ejecutarán los programas.
En Bash, variables de entorno definir muchas cosas diferentes:su editor predeterminado, su nombre de usuario actual o la zona horaria actual.
Lo que es más importante, las variables de entorno se pueden usar en los scripts de Bash para modificar el comportamiento de sus scripts.
En este tutorial, veremos cómo puede fácilmente establecer variables de entorno en Bash .
Establecer variables de entorno en Bash
La forma más sencilla de establecer variables de entorno en Bash es utilizar la palabra clave "exportar" seguida del nombre de la variable, un signo igual y el valor que se asignará a la variable de entorno.
Por ejemplo, para asignar el valor “abc ” a la variable “VAR “, escribirías el siguiente comando
$ export VAR=abc
Si desea tener espacios en su valor, como "mi valor ” o “Linus Torvalds “, tendrá que encerrar su valor entre comillas dobles.
$ export VAR="my value"
$ export VAR="Linus Torvalds"
Para mostrar su variable de entorno, debe preceder la variable con un signo de dólar.
$ echo $VAR
Linus Torvalds
Del mismo modo, puede utilizar el "printenv ” para imprimir el valor de su variable de entorno.
Esta vez, no tiene que precederlo con un signo de dólar.
$ printenv VAR
Linus Torvalds
Configuración de variables usando la interpolación de Bash
En algunos casos, es posible que deba establecer una variable de entorno específica para el resultado de un comando en su servidor.
Para lograrlo, necesitará la interpolación de Bash, también llamada sustitución de parámetros .
Digamos, por ejemplo, que desea almacenar el valor de su instancia de shell actual en una variable llamada MYSHELL.
Para establecer una variable de entorno usando la sustitución de parámetros, use la palabra clave "exportar" y tenga el comando entre paréntesis de cierre precedido por un signo de dólar.
$ export VAR=$(<bash command>)
Por ejemplo, dado nuestro ejemplo anterior, si desea tener la variable de entorno "SHELL" en una nueva variable llamada "MYSHELL", escribiría
$ export MYSHELL=$(echo $SHELL)
Felicitaciones, ¡ha creado con éxito su primera variable de entorno en Bash!
Configuración de variables de entorno permanentes en Bash
Cuando asigna un valor a una variable utilizando "exportar" en un shell, los cambios no persisten en los reinicios o en otros shells.
Para establecer una variable de entorno permanente en Bash, debe usar el comando de exportación y agregarlo a su archivo ".bashrc" (si esta variable es solo para usted) o al archivo /etc/environment si desea que todos los usuarios tengan esta variable de entorno.
$ nano /home/user/.bashrc
# Content of the .bashrc file
export VAR="My permanent variable"
Para que los cambios se apliquen a su sesión actual, deberá obtener su archivo .bashrc.
$ source .bashrc
Ahora, puede verificar el valor de su variable de entorno en cada shell que desee.
$ printenv VAR
Esta variable se creará en cada instancia de shell para el usuario actual.
Sin embargo, si lo agrega a la carpeta “/etc/environment ”, la variable de entorno se establecerá para todos los usuarios de su sistema.
$ nano /etc/environment
# Content of the environment file
export GLOBAL="This is a global variable"
Después de obtener el archivo, las variables de entorno se establecerán para cada usuario en su host.
$ source /etc/environment
$ echo $GLOBAL
Impresionante, ¡ha establecido con éxito una variable de entorno global en su servidor!
Conclusión
En este tutorial, aprendió cómo puede fácilmente establecer variables de entorno en Bash utilizando el comando de exportación.
También aprendiste que los cambios no se hacen permanentes hasta que los agregas a tu :
- .bashrc :si desea que la variable sea solo para el usuario actual que inició sesión;
- /etc/medio ambiente :si desea que la variable sea compartida por todos los usuarios del sistema.
Si está interesado en Administración del sistema Linux , o en Bash, tenemos una sección completa dedicada a esto en el sitio web, ¡así que asegúrese de revisarlo!