Las variables de entorno son específicas de determinados entornos. Una respuesta genérica, ¿verdad?
Pero en realidad, esas son las variables que son específicas de su entorno de sistema actual, como el usuario que ha iniciado sesión actualmente, se almacenará dentro de la variable “USUARIO”.
¿Sigo confundido? sin preocupaciones. Lo guiaré a través de una breve comprensión de las variables de entorno y luego pasaré a varias formas de imprimirlas.
¿Qué son las variables de entorno?
No, no está relacionado con su entorno de escritorio.
Una de las variables de entorno más básicas que encuentra a diario es el nombre de host. Entonces, ¿alguna vez te has preguntado por qué siempre está escrito en mayúsculas?
Debido a que la mayoría de las variables de entorno están predefinidas por el sistema y son variables globales, las encontrará a menudo escritas en mayúsculas.
Entonces, ¿por qué usar variables de entorno en primer lugar?
Suponga que es un programador y su código necesita tener acceso a la clave de su base de datos, que nunca debe compartirse en público.
Entonces, ¿qué opciones tienes al compartir el código completo en Git? Envuelva la clave de la base de datos en la variable de entorno.
De esta manera, puede establecer instrucciones en Git como “si desea que este código funcione, intercambie esta variable con la clave de su base de datos”.
Por supuesto, esta era la única forma de usar variables de entorno. Entonces, echemos un vistazo a algunas variables de entorno comunes en Linux.
Variable ambiental | Descripción |
---|---|
HOGAR | Muestra el directorio de inicio del usuario actual |
NOMBRE DE HOST | Contiene el nombre de host de su sistema |
UID | Almacena la identificación única del usuario |
CAPARAZÓN | Muestra la ruta al shell que se está utilizando actualmente. |
BASH_VERSION | Contiene la versión utilizada actualmente bash instancia |
ARCHIVO HISTÓRICO | Ruta del archivo donde se guarda el historial de comandos |
TÉRMINO | Muestra el tipo de terminal de inicio de sesión que está utilizando |
SENDERO | Muestra la ruta de los comandos y los directorios están separados por columnas |
Imprimir variables de entorno en Linux
Hay varias formas a través de las cuales puede imprimir variables de entorno en Linux e intentaré cubrir cada una de ellas. Así que empecemos con la más fácil.
Usando el comando printenev
La utilidad printenv se usa para imprimir variables de entorno para el shell actual.
Supongamos que quiero imprimir el valor de NOMBRE DE USUARIO usandoprintenv
entonces mi comando será el siguiente:
printenv USERNAME
De manera similar, también puede usar la utilidad printenv para imprimir más de una variable de entorno separándolas con
Entonces, ¿qué hay de imprimir el valor de HOME y USERNAME a la vez usando printenv?
printenv HOME USERNAME
Primero, imprimirá el directorio de inicio del usuario conectado actualmente y en la segunda línea, el nombre de host estará allí.
Pero, ¿qué sucede si está buscando una forma de imprimir cada variable de entorno disponible en el shell actual?
Puede lograr esto fácilmente ejecutando el comando printenv sin opciones ni argumentos de ningún tipo.
printenv

Usando el comando echo
Si ha estado usando Linux por un tiempo, las posibilidades de usar este método para imprimir variables de entorno son bastante altas (incluso si no sabía que no es una variable de entorno).
Ahora, déjame mostrarte cómo se supone que debes imprimir el valor de NOMBRE DE USUARIO con eco:
echo $USERNAME

Pero, ¿qué sucede si desea imprimir múltiples variables de entorno usando echo? simplemente siga la sintaxis dada:
echo -e "$<variable 1> n<variable 2> n<variable 3>"
Entonces, ¿qué hay de imprimir valores de INICIO, NOMBRE DE USUARIO y NOMBRE DE HOST todos a la vez usando echo?
echo -e "$USERNAME n$HOME n$HOSTNAME"

Usando el comando env
Los scripts de shell generalmente usan el comando env para iniciar el intérprete correcto, pero también puede usar el comando env para enumerar las variables de entorno disponibles.
El comando env, si se aplica sin argumentos ni opciones, imprimirá todas las variables de entorno disponibles.
env

Pero, ¿qué sucede si desea obtener el valor de una variable de entorno específica? puede filtrar fácilmente los resultados con el comando grep.
Para demostración, estaré imprimiendo el valor de HOME con el comando echo:
env | grep HOME

Usando el comando declare
El comando declare se usa para declarar e imprimir el valor de las variables en el shell.
Como cualquier otro example como se muestra arriba, puede usar declare sin ningún argumento y traerá la lista de variables disponibles.
declare

Anteriormente, le mostré cómo puede usar el comando grep para filtrar los resultados, pero ¿qué sucede si desea filtrar más de un resultado?
Primero, echemos un vistazo a la sintaxis para filtrar múltiples variables de entorno:
declare | grep '<variable 1>|<variable 2>|<variable 3>'
Para exampleimprimamos el valor de HOSTNAME y USERNAME:
declare | grep 'HOSTNAME|USERNAME'

Usando el comando establecer
En general, el comando set se usa para establecer y desactivar indicadores en el shell para que pueda determinar el comportamiento exacto para el próximo proceso.
Pero también puede usar el comando set para imprimir variables de entorno para el shell actual.
Para imprimir cada variable de entorno, use el comando dado:
set

Puede utilizar el mismo enfoque utilizado en el método anterior para filtrar los resultados del comando set.
Pero aún así, echemos un vistazo a un simple example usando el comando grep para imprimir múltiples variables de entorno.
set | grep 'HISTFILESIZE|HISTFILE|GNOME_SHELL_SESSION_MODE'

Finalizando
Aunque existen varios métodos para imprimir variables de entorno, le sugiero que use el primer método, la sintaxis es la menos complicada en términos de filtrado de variables específicas.
Y si todavía estás confundido, la sección de comentarios está abierta para ti.