Volver a la página principal
lunes 4 noviembre 2024
20

Qué son las variables de entorno en Linux

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:

  • Variables Globales: Se heredan en los procesos secundarios (child processes) y son accesibles desde cualquier shell o script en la sesión.
  • Variables Locales: Solo están disponibles en el shell o script donde se crearon.

Cómo Crear y Usar Variables Globales en Linux

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.

Ejemplo de Uso de Variables Globales

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

Cómo Crear y Usar Variables Locales en Linux

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.

Cómo Listar Variables de Entorno Actuales

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

Variables de Entorno Comunes en Linux

A continuación, se describen algunas de las variables de entorno más comunes y útiles en Linux:

  • DISPLAY: Define la pantalla utilizada por el sistema X Window, comúnmente :0.0 en el primer display.
  • EDITOR: Editor de texto preferido del usuario.
  • HISTFILESIZE: Número máximo de líneas almacenadas en el archivo de historial.
  • HISTSIZE: Número de líneas añadidas al historial cuando el usuario cierra sesión.
  • HOME: Directorio principal del usuario.
  • HOSTNAME: Nombre del host del equipo.
  • LANG: Idioma configurado en el sistema.
  • MAIL: Ruta al buzón de correo del usuario, típicamente /var/spool/mail/USER.
  • MANPATH: Directorios donde se buscan las páginas del manual.
  • OSTYPE: Tipo de sistema operativo.
  • PS1: Prompt de línea de comandos predeterminado en bash.
  • PATH: Lista de directorios en los que se buscan ejecutables cuando se invoca un comando.
  • PWD: Directorio de trabajo actual.
  • SHELL: Ruta al shell de comandos actual, como /bin/bash.
  • TERM: Tipo de terminal actual, como xterm.
  • TZ: Zona horaria configurada.
  • USER: Nombre de usuario actual.

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.

Ejemplo de Uso del PATH

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.

Conclusión

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.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer