Variables de entorno en Bash: guía práctica con ejemplos
¿Qué son las variables de entorno?
Las variables de entorno son pares nombre=valor que viven en el entorno del proceso y que pueden ser leídas por programas y scripts. Sirven para configurar el comportamiento de aplicaciones sin modificar su código, por ejemplo definir rutas, credenciales o modos de depuración.
Visualizar una variable con echo $VAR
Para ver el valor de una variable ya existente usás la expansión de parámetros precedida por el signo de dólar. Si la variable no está definida, la expansión devuelve una cadena vacía.
$ echo $HOME
/home/tu_usuario
$ echo $NO_EXISTE
En el primer comando se muestra el directorio personal; en el segundo, como NO_EXISTE no está definida, la salida es simplemente una línea en blanco.
Establecer una variable de forma temporal
Podés asignar un valor a una variable solo para el shell actual. Esta asignación no afecta a procesos hijos ni queda guardada después de cerrar la terminal.
$ MI_VAR=hola
$ echo $MI_VAR
hola
Después de esto, si lanzás un subshell (por ejemplo con bash o sh -c), la variable no estará disponible:
$ bash -c 'echo $MI_VAR'
La salida es una línea en blanco porque la variable no fue exportada.
Exportar para que quede disponible en subshells
Con el builtin export le indicás al shell que pase la variable al entorno de los procesos que lance.
$ export MI_VAR
$ bash -c 'echo $MI_VAR'
hola
Ahora el subshell muestra hola. Podés combinar asignación y export en una sola línea:
$ export OTRA_VAR=valor
$ echo $OTRA_VAR
valor
$ bash -c 'echo $OTRA_VAR'
valor
Variables de entorno permanentes (opcional)
Si querés que una variable quede definida cada vez que abrís una terminal, agregá la línea de export a tu archivo de inicialización del shell, por ejemplo ~/.bashrc o ~/.zshrc.
# al final de ~/.bashrc
export MI_VAR=hola
Después de guardar, recargá el archivo con source ~/.bashrc o abrís una nueva terminal para que la variable esté disponible.
Buenas prácticas
- Usá nombres en mayúsculas con guiones bajos (
MI_VARIABLE). - No exportés variables que contengan información sensible sin tener en cuenta que cualquier proceso hijo puede leerlas.
- Para variables que solo necesitás en el script actual, dejálas sin exportar; así evitás contaminar el entorno de otros programas.
Resumen rápido de comandos
| Acción | Comando | Resultado esperado |
|---|---|---|
| Ver variable | echo $VAR |
Valor o línea en blanco |
| Asignar temporal | VAR=valor |
Variable disponible en shell actual |
| Exportar | export VAR |
Variable disponible en subshells |
| Asignar y exportar | export VAR=valor |
Igual que arriba, en un paso |
| Hacer permanente | agregar export VAR=valor a ~/.bashrc |
Variable en cada nueva sesión |
Con estos pasos podés manejar las variables de entorno de forma segura y eficaz en tu día a día con Bash o cualquier shell compatible.
DUGLAS MORENO
Comentarios (0)
Sé el primero en comentar.