Introducción
Cada vez que inicia una sesión de shell en Linux, el sistema revisa los archivos de configuración y configura el entorno en consecuencia. Las variables ambientales juegan un papel importante en este proceso.
En este tutorial, aprenderá a configurar, ver y desactivar variables de entorno en Linux.
Requisitos previos
- Cualquier distribución Linux (Debian, Ubuntu, RHEL, CentOS…)
- Acceso a la línea de comando
- Privilegios de Sudo
Qué son las variables de entorno:una definición
Las variables de entorno son variables que contienen valores necesarios para configurar un entorno de shell. A diferencia de las variables de shell, las variables de entorno persisten en los procesos secundarios del shell.
Estructuralmente, las variables de entorno y shell son las mismas:ambas son un par clave-valor, separadas por un signo igual.
VARIABLE_NAME=value
Si una variable tiene más de un valor, sepárelos con un punto y coma:
VARIABLE_NAME=value_1:value_2
Las variables que contienen espacios se escriben entre comillas:
VARIABLE_NAME="Value text"
Variables de entorno más comunes
Aquí hay algunas variables de entorno que un usuario promedio puede encontrar:
PWD
– Directorio de trabajo actual.HOME
– La ubicación del directorio de inicio del usuario.SHELL
– Shell actual (bash, zsh, etc.).LOGNAME
– Nombre del usuario.UID
– Identificador único del usuario.HOSTNAME
– Nombre de host del dispositivo en la red.MAIL
– Directorio de correo del usuario.EDITOR
– El editor de texto predeterminado del sistema Linux.TEMP
– Ubicación del directorio para archivos temporales.
Cómo comprobar las variables de entorno
Ver todas las variables de entorno
Usa el printenv
comando para ver todas las variables de entorno. Dado que hay muchas variables en la lista, use less
comando para controlar la vista:
printenv | less
El resultado mostrará la primera página de la lista y luego le permitirá ir más allá presionando Espacio para ver la página siguiente o Entrar para mostrar la siguiente línea:
Salga de la vista presionando Q
.
Buscar una única variable de entorno
Para verificar un valor de variable de entorno único, use el siguiente comando:
printenv VARIABLE NAME
El HOME
el valor de la variable es la ruta de la carpeta de inicio:
Alternativamente, muestre el valor de una variable usando el echo
dominio. La sintaxis es:
echo $[VARIABLE_NAME]
Buscar variables de entorno específicas
Para encontrar todas las variables que contienen una determinada cadena de caracteres, utilice el comando grep:
printenv | grep [VARIABLE_NAME]
El resultado de búsqueda para el USER
variable muestra las siguientes líneas:
Otro comando que puede usar para verificar las variables de entorno es set
. Sin embargo, este comando también incluirá variables locales, así como variables de shell y funciones de shell.
Encuentre una variable de entorno en la lista que contenga todas las variables y funciones de shell usando set | grep
:
set | grep [VARIABLE_NAME]
Establecer una variable de entorno en Linux
La forma más sencilla de configurar una variable usando la línea de comando es escribir su nombre seguido de un valor:
[VARIABLE_NAME]=[variable_value]
1. Como ejemplo, cree una variable llamada EXAMPLE
con un valor de texto. Si escribe el comando correctamente, el shell no proporciona ningún resultado.
2. El set | grep
El comando confirma la creación de la variable. Sin embargo, printenv
no devuelve ningún resultado.
Esto se debe a que la variable creada de esta manera es una variable de shell.
3. Otra forma de confirmar esto es escribir bash
e inicie una sesión de shell secundaria. Usando el echo
comando para buscar el EXAMPLE
la variable ahora no devuelve ningún resultado:
Cómo exportar una variable de entorno
1. Si desea convertir una variable de shell en una variable de entorno, regrese al shell principal y export
con el comando de exportación:
export [VARIABLE_NAME]
2. Usa printenv
para confirmar la exportación exitosa:
3. Si abre una sesión de shell secundaria ahora, echo
devolverá el valor de la variable de entorno:
La variable de entorno creada de esta manera desaparece después de salir de la sesión de shell actual.
Establecer una variable de entorno en Linux de forma permanente
Si desea que una variable persista después de cerrar la sesión de shell, debe configurarla como una variable ambiental de forma permanente. Puede elegir entre configurarlo para el usuario actual o para todos los usuarios.
1. Para establecer variables de entorno permanentes para un solo usuario, edite el .bashrc
archivo:
sudo nano ~/.bashrc
2. Escriba una línea para cada variable que desee agregar usando la siguiente sintaxis:
export [VARIABLE_NAME]=[variable_value]
3. Guarde y salga del archivo. Los cambios se aplican después de reiniciar el shell. Si desea aplicar los cambios durante la sesión actual, use el comando fuente:
source ~/.bashrc
4. Para establecer variables de entorno permanentes para todos los usuarios, cree un .sh
archivo en el /etc/profile.d
carpeta:
sudo nano /etc/profile.d/[filename].sh
5. La sintaxis para agregar variables al archivo es la misma que con .bashrc
:
6. Guarde y salga del archivo. Los cambios se aplican en el próximo inicio de sesión.
Cómo desactivar una variable de entorno
Para desarmar una variable de entorno, use unset
comando:
unset [VARIABLE_NAME]
Este comando elimina permanentemente las variables exportadas a través de un comando de terminal.
Las variables almacenadas en los archivos de configuración también se eliminan de la sesión de shell actual. Sin embargo, se vuelven a configurar la próxima vez que inicie sesión.
Para anular permanentemente una variable que almacenó en un archivo, vaya al archivo y elimine la línea que contiene la definición de la variable.