Como administrador del sistema, probablemente sabes 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, las variables de entorno definen muchas cosas diferentes: tu editor por defecto, tu nombre de usuario actual o la zona horaria actual.
Lo más importante es que las variables de entorno se pueden utilizar en los scripts de Bash para modificar el comportamiento de sus scripts.
En este tutorial, vamos a ver cómo se pueden establecer fácilmente las variables de entorno en Bash.
Configuración de variables de entorno en Bash
La forma más sencilla de configurar variables de entorno en Bash es utilizar la palabra clave «export» seguida del nombre de la variable, un signo igual y el valor a 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 quieres tener espacios en tu valor, como «mi valor» o «Linus Torvalds», tendrás que encerrar tu valor entre comillas dobles.
$ export VAR="my value"$ export VAR="Linus Torvalds"
Para que se muestre tu variable de entorno, tienes que preceder la variable con un signo de dólar.
$ echo $VARLinus Torvalds
De forma similar, puedes usar el comando «printenv» para imprimir el valor de tu variable de entorno.
Esta vez, no tienes que precederla con un signo de dólar.
$ printenv VARLinus Torvalds
Configuración de variables utilizando la interpolación de Bash
En algunos casos, puede que necesites establecer una variable de entorno específica al resultado de un comando en tu servidor.
Para conseguirlo, necesitarás la interpolación de Bash, también llamada sustitución de parámetros.
Digamos, por ejemplo, que quieres almacenar el valor de tu instancia actual del shell en una variable llamada MYSHELL.
Para establecer una variable de entorno utilizando la sustitución de parámetros, utiliza la palabra clave «export» y haz que el comando esté encerrado entre paréntesis de cierre precedidos por un signo de dólar.
$ export VAR=$(<bash command>)
Por ejemplo, dado nuestro ejemplo anterior, si quieres tener la variable de entorno «SHELL» en una nueva variable llamada «MYSHELL», escribirías
$ export MYSHELL=$(echo $SHELL)
¡Enhorabuena, has creado con éxito tu primera variable de entorno en Bash!
Cómo establecer variables de entorno permanentes en Bash
Cuando se asigna un valor a una variable usando «export» en un shell, los cambios no persisten en los reinicios o en otros shells.
Para establecer una variable de entorno permanente en Bash, tienes que usar el comando export y añadirla bien a tu archivo «.bashrc» (si esta variable es sólo para ti) o al archivo /etc/environment si quieres que todos los usuarios tengan esta variable de entorno.
$ nano /home/user/.bashrc# Content of the .bashrc fileexport VAR="My permanent variable"
Para que los cambios se apliquen a tu sesión actual, tendrás que originar tu archivo .bashrc.
$ source .bashrc
Ahora, puedes comprobar el valor de tu variable de entorno en cada shell que quieras.
$ printenv VAR
Esta variable se creará en cada instancia del shell para el usuario actual.
Sin embargo, si la añades al archivo «/etc/environment», la variable de entorno se establecerá para todos los usuarios de tu sistema.
$ nano /etc/environment# Content of the environment fileexport GLOBAL="This is a global variable"
Después de abastecer el archivo, las variables de entorno se establecerán para todos los usuarios de tu host.
$ source /etc/environment$ echo $GLOBAL
¡Impresionante, has establecido con éxito una variable de entorno global en tu servidor!
Conclusión
En este tutorial, has aprendido cómo puedes establecer fácilmente variables de entorno en Bash utilizando el comando export.
También has aprendido que los cambios no se hacen permanentes hasta que los añades a tu :
- .bashrc : si quieres que la variable sea sólo para el usuario actual conectado;
- /etc/environment : si quieres que la variable sea compartida por todos los usuarios del sistema.
Si estás interesado en la Administración de Sistemas Linux, o en Bash, tenemos una sección completa dedicada a ello en la web, así que no dejes de visitarla!
.