Variables de entorno - Linux

Leave a Comment
En esta entrada veremos qué son las variables de entorno y cómo podemos modificarlas.



Lo primero de todo: ¿Qué son las variables de entorno?

Variable de entorno: es un identificador asociado a un espacio de memoria que contiene información dinámica (variable) y cuyos valores afectan a los procesos que se ejecutan en un ordenador.

Vale, y ahora, ¿cómo sé qué variables de entorno hay en mi sistema?

Abrimos un terminal y ejecutamos el comando printenv. Este comando nos muestra todas las variables de entorno en nuestro sistema, así como su valor.

Algunos ejemplos:
  • PWD: Print Working Directory. Contiene cuál es el directorio actual (comando pwd).
  • HOME: Contiene la ruta a nuestro directorio home.
  • USERNAME: Contiene cuál es nuestro nombre de usuario.
  • PATH: Contiene diferentes rutas que los programas utilizan para buscar archivos. Lo veremos en otra entrada ;)
Para mostrar el contenido de una variable podemos utilizar el comando visto anteriormente:

printenv nombre_variable

En bash, podemos acceder al contenido de las variables con $NOMBRE_VARIABLE. Por tanto podemos mostrar el contenido con el comando echo:

echo $NOMBRE_VAR

Si queremos añadir o modificar el contenido de una variable, utilizamos el comando export:

export NOMBRE_VAR=VALOR

También podemos utilizar el contenido de otras variables, por ejemplo:

export NOMBRE_VAR=$OTRA_VAR

Un ejemplo en mi terminal:



Si cerráis el terminal y lo volvéis a abrir, dichas variables no aparecen. Para que se mantengan hay que añadirlas al archivo .bashrc o .bash_profile (o aquel que tengáis configurado).

Estos se encuentran en vuestra carpeta personal /home/usuario pero están ocultos (empiezan por '.').

Para mostrarlos simplemente tenemos que decirle a Nautilus que muestre los archivos ocultos (CTRL+H), aunque también podemos hacerlo desde el terminal:

Mostramos los archivos de la carpeta con ls (con la opción -a indicamos que muestre los ocultos).

ls -a

Y ahora le decimos a nuestro editor favorito que lo abra (gedit, vi, vim, nano...):

gedit nombre_archivo

Y simplemente añadimos una línea con el comando que queramos que se ejecute:

export NOMBRE_VAR=VALOR_DESEADO

La entrada ha quedado bastante larga, así que en otra veremos los diferentes usos que pueden tener.  Además también son utilizadas en Windows. Si queréis en otra entrada puedo explicarlo.

¡Saludos!