Las variables de entorno en Linux son variables globales que afectan el comportamiento de los procesos en el sistema. Cada variable puede almacenar información que será utilizada tanto por el sistema como por los programas en ejecución. Por ejemplo, la variable PATH
guarda la lista de directorios en los que el sistema busca ejecutables, mientras que HOME
apunta al directorio principal del usuario actual.
En Linux, estas variables pueden ser globales o locales:
Las variables globales se utilizan para almacenar información que debe ser accesible a lo largo de la sesión y también en los procesos hijos que se inicien desde ella.
Para crear una variable global en tu sesión actual, utiliza el comando export
:
export MYGLOBAL="hello world"
echo $MYGLOBAL
# Muestra: hello world
La variable MYGLOBAL
estará ahora accesible en la sesión actual y en todos los procesos secundarios que se ejecuten desde esta sesión. Si deseas eliminar esta variable, usa el comando unset
:
unset MYGLOBAL
Este comando elimina la variable MYGLOBAL
, haciendo que ya no esté disponible en la sesión o en los procesos hijos.
Las variables globales son útiles para guardar configuraciones o rutas de archivos a los que se accederá frecuentemente en una sesión de trabajo. Por ejemplo, puedes crear una variable global que almacene el directorio de trabajo de un proyecto:
export PROJECT_PATH="/home/user/my_project"
cd $PROJECT_PATH
Las variables locales solo son accesibles en el shell o script donde se crean. Esto significa que no se heredan en procesos hijos y son ideales para almacenar datos temporales que solo son relevantes dentro de un contexto específico.
Para crear una variable local en el shell, simplemente asígnale un valor sin utilizar export
:
LOCAL="my local variable"
echo $LOCAL
# Muestra: my local variable
unset LOCAL
Este tipo de variables son útiles en scripts, donde se desea manejar datos internos sin afectar otros procesos o la sesión global.
Linux ofrece varias maneras de listar las variables de entorno activas en la sesión. A continuación, se muestran algunos comandos útiles para este propósito:
1. set: Muestra todas las variables de entorno y locales en la sesión actual.
set
2. env: Muestra solo las variables de entorno (globales).
env
3. printenv: Similar a env
, muestra las variables de entorno.
printenv
4. /proc/$$/environ: Este archivo contiene todas las variables de entorno de la sesión actual, y puede visualizarse usando cat
.
cat /proc/$$/environ
Alternativamente, para obtener las variables de un proceso en específico, puedes usar:
cat /proc/`python -c "import os; print(os.getppid())"`/environ
A continuación, se describen algunas de las variables de entorno más comunes y útiles en Linux:
:0.0
en el primer display.
/var/spool/mail/USER
.
/bin/bash
.
xterm
.
Estas variables permiten configurar el entorno de trabajo de acuerdo con las preferencias del usuario y las características del sistema. A continuación se presentan ejemplos específicos de cómo puedes utilizar estas variables en la práctica.
La variable PATH
es esencial en Linux, ya que especifica los directorios en los que el sistema buscará ejecutables cuando ingresamos un comando sin especificar una ruta completa. Puedes modificar PATH
para agregar directorios de programas personalizados:
export PATH=$PATH:/home/user/my_custom_bin
Este comando agrega el directorio /home/user/my_custom_bin
a PATH
, permitiendo que los ejecutables en este directorio sean accesibles desde cualquier lugar en la línea de comandos.
Las variables de entorno son una herramienta poderosa en Linux, permitiendo gestionar configuraciones de sistema, almacenamiento de datos temporales y ajuste de preferencias del usuario de forma dinámica. Al dominar las variables globales y locales, podrás optimizar tu entorno de trabajo y ejecutar scripts de manera eficiente.
Jorge García
Fullstack developer