Cómo imprimir variables de entorno en Linux

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

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 usando printenv entonces mi comando será el siguiente:

                      
                        printenv USERNAME
                      
                    
Usando printenv para imprimir NOMBRE DE USUARIO

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í.

Usando printenv para imprimir HOME y USERNAME

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
                      
                    
Utilizando el comando printenv para imprimir cada variable de entorno disponible en el shell actual

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
                      
                    
Imprimir variable de entorno usando el comando echo Usando el comando echo para imprimir la variable de entorno

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"
                      
                    
Use el comando echo para imprimir múltiples valores de variables de entorno Uso de eco para imprimir valores de INICIO, NOMBRE DE USUARIO y NOMBRE DE HOST

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
                      
                    
Use el comando env para imprimir la variable de entorno Usando el comando env para imprimir cada variable de entorno disponible

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
                      
                    
Use el comando env para imprimir la variable de entorno Usando el comando env para imprimir la variable de entorno 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
                      
                    
Use el comando declare para imprimir variables de entorno Usando el comando declare sin ningún argumento para imprimir las variables de entorno disponibles

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'
                      
                    
Use grep con declare para imprimir múltiples variables de entorno Usando grep con declare para imprimir múltiples variables de entorno

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
                      
                    
Use el comando set para imprimir variables de entorno Usando el comando set para imprimir las variables de entorno disponibles

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'
                      
                    
Use set commad para imprimir variables de entorno específicas Usando el comando set con grep para filtrar e imprimir múltiples variables de entorno

Terminando

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.


Related Posts