Variables de Entorno en Bash
¿Qué son las variables de entorno y por qué son útiles?
Las variables de entorno son variables especiales que almacenan información sobre el entorno de trabajo del sistema operativo, como rutas, configuraciones de usuario o preferencias del sistema. Son accesibles por los procesos y comandos ejecutados en la terminal, permitiendo personalizar el comportamiento de programas y scripts. Son útiles porque:
- Facilitan la configuración de herramientas y aplicaciones sin modificar su código.
- Permiten a los scripts adaptarse al entorno del usuario (por ejemplo, rutas de instalación).
- Centralizan información del sistema, como el directorio del usuario o los binarios ejecutables.
Variables comunes
Algunas variables de entorno predefinidas en Bash incluyen:
PATH
: Lista de directorios donde el sistema busca ejecutables.HOME
: Directorio personal del usuario actual.USER
: Nombre del usuario actual.PWD
: Directorio de trabajo actual.SHELL
: Ruta al shell predeterminado (por ejemplo,/bin/bash
).
Para ver el valor de una variable, usa echo
:
echo $PATH
echo $HOME
Cómo definir y usar variables de entorno
Las variables de entorno pueden ser locales (disponibles solo en la sesión actual) o globales (disponibles para todos los procesos hijos). Para definir una variable local:
MI_VARIABLE="Hola, mundo"
echo $MI_VARIABLE
Las variables locales solo existen en la terminal donde se definieron. Para hacer una variable global, se debe exportar (ver más abajo).
Para usar una variable, antepón $
al nombre de la variable. Por ejemplo:
echo "Mi directorio personal es $HOME"
Exportar variables con export
Para que una variable esté disponible en procesos hijos (como scripts o programas ejecutados desde la terminal), usa el comando export
:
export MI_VARIABLE="Hola, mundo"
Ejemplo de uso en un script:
# Crear un script (script.sh)
echo "echo La variable es: $MI_VARIABLE" > script.sh
chmod +x script.sh
./script.sh # No muestra nada si MI_VARIABLE no está exportada
export MI_VARIABLE="Hola desde Bash"
./script.sh # Ahora muestra "La variable es: Hola desde Bash"
Para hacer una variable de entorno persistente (disponible en todas las sesiones), agrégala a un archivo como ~/.bashrc
o ~/.bash_profile
:
echo 'export MI_VARIABLE="Valor permanente"' >> ~/.bashrc
source ~/.bashrc
Configurar la variable PATH
La variable PATH
define los directorios donde Bash busca comandos ejecutables. Modificar PATH
es necesario para instalar ciertos programas, como Java, Python o herramientas de desarrollo, para que sus ejecutables estén disponibles desde cualquier directorio. Para añadir un directorio a PATH
:
# Añadir un directorio temporalmente
export PATH=$PATH:/ruta/a/nuevo/directorio
Ejemplo con Java: Si instalas el JDK en /usr/lib/jvm/java-11-openjdk/bin
, puedes añadirlo a PATH
para usar java
o javac
desde cualquier lugar:
export PATH=$PATH:/usr/lib/jvm/java-11-openjdk/bin
java -version # Verifica que Java esté accesible
Para hacer el cambio permanente, añade la línea al archivo ~/.bashrc
o ~/.bash_profile
:
echo 'export PATH=$PATH:/usr/lib/jvm/java-11-openjdk/bin' >> ~/.bashrc
source ~/.bashrc
Nota: Asegúrate de reemplazar /ruta/a/nuevo/directorio
con la ruta real del programa. Si la ruta contiene espacios, enciérrala en comillas. También, evita sobrescribir PATH
directamente (por ejemplo, PATH=/nueva/ruta
), ya que eliminaría los directorios existentes.