Usar variables de entorno

última modificación:

Las variables de entorno son pares nombre-valor que el sistema pone a disposición de los procesos en ejecución. Variables como PATH (dónde buscar ejecutables), HOME (directorio personal) o LANG (idioma del sistema) son ejemplos que usamos constantemente sin darnos cuenta.

Para ver todas las variables de entorno activas:

env

O para ver el valor de una en concreto:

echo "$PATH"
echo "$HOME"

Para definir una variable temporal (solo dura la sesión actual):

export MI_VARIABLE="valor"

Para que sea permanente, la añadimos a ~/.bashrc:

export MI_VARIABLE="valor"

Y recargamos con source ~/.bashrc.

Una variable de entorno muy útil es PATH. Si tenemos scripts en /usr/local/bin/ (como el de actualización de IP dinámica), ese directorio ya suele estar en PATH. Si añadimos scripts en otro directorio, podemos ampliarlo:

export PATH="$PATH:/opt/mis-scripts/"

Un aspecto importante: cron ejecuta los comandos con un entorno muy reducido (sin las variables de .bashrc). Por eso en los scripts que se lanzan desde cron conviene definir explícitamente las variables que se necesiten o usar siempre rutas absolutas.

Para ver qué variables tiene un proceso concreto (por su PID):

cat /proc/1234/environ | tr '\0' '\n'