El comando export en Linux: definir variables de entorno

Introducción

En el mundo de Linux y los sistemas tipo Unix, las variables de entorno son pares clave‑valor que influyen en el comportamiento de los procesos y de la propia shell. Definirlas correctamente permite configurar rutas de ejecución, opciones de programas y ajustes del sistema sin modificar el código fuente. El comando export es la herramienta más utilizada para hacer que una variable esté disponible en el entorno actual y en los subprocesos que se lancen a partir de ella.

¿Qué es una variable de entorno?

Una variable de entorno es simplemente un nombre asociado a un valor que el kernel y los programas pueden consultar. Ejemplos comunes son HOME, PATH, LANG o EDITOR. Cuando un proceso se inicia, hereda el entorno de su proceso padre; cualquier cambio que se haga en ese entorno solo afecta al proceso actual y a sus hijos, nunca al padre.

El comando export: sintaxis básica

La forma más simple de usar export es:

export NOMBRE=valor

Si el valor contiene espacios o caracteres especiales, se debe encerrar entre comillas:

export MI_VAR='texto con espacios'

También es posible exportar varias variables a la vez:

export VAR1=val1 VAR2=val2

Para ver el contenido de una variable después de exportarla, basta con usar echo $NOMBRE o printenv NOMBRE.

Ejemplos prácticos

  • Definir un directorio de trabajo temporal:
    export TMPWORK=$HOME/tmpwork
  • Agregar un directorio al PATH:
    export PATH=$PATH:/opt/miapp/bin
  • Establecer el locale para que los mensajes aparezcan en español:
    export LANG=es_ES.UTF-8
  • Pasar una variable a un subproceso:
    export MI_TOKEN=abc123&& ./mi_script.sh

Hacer las variables permanentes

El efecto de export dura solo mientras exista la sesión de shell actual. Para que una variable esté disponible en cada nuevo inicio de sesión, se debe añadir la línea de export a uno de los archivos de configuración de la shell, como:

  • ~/.bashrc para Bash (se lee en shells interactivas)
  • ~/.profile o ~/.bash_profile para shells de inicio de sesión
  • ~/.zshrc para Zsh

Después de editar el archivo, se recarga con source ~/.bashrc o simplemente abriendo una nueva terminal.

Buenas prácticas y trucos

  • Usar nombres en mayúsculas y guiones bajos para evitar colisiones con comandos internos.
  • No exportar datos sensibles (como contraseñas) en archivos que puedan ser leídos por otros usuarios; prefiera gestores de secretos o variables de sesión.
  • Si necesita modificar PATH, añada el nuevo directorio al final o al principio según la prioridad que desee.
  • Para variables que solo son relevantes en un script concreto, es mejor definirlas dentro del script mismo con export o simplemente usar VAR=valor comando para que afecte solo a ese comando.
  • Utilice export -p para listar todas las variables actualmente exportadas.
  • Recuerde que las variables exportadas no se persisten en reinicios del sistema unless se guardan en los archivos de inicio mencionados anteriormente.

Conclusión

El comando export es una pieza fundamental para cualquier usuario o administrador de Linux que necesite controlar el entorno de ejecución de sus programas. Dominar su sintaxis, saber cuándo y cómo hacerlo permanente, y aplicar buenas prácticas le permitirá trabajar de forma más segura, predecible y eficiente en la línea de comandos.