Cómo comprobar si una variable está definida en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá técnicas fundamentales para trabajar con variables en la línea de comandos de Linux. Comenzará dominando cómo mostrar los valores de las variables utilizando el comando echo, una habilidad crucial para inspeccionar la configuración del entorno y otra información almacenada.

A continuación, explorará cómo verificar la existencia o vacuidad de variables utilizando el comando test con la opción -z, que es esencial para la lógica condicional en scripting. Finalmente, descubrirá cómo enumerar todas las variables de entorno definidas actualmente utilizando el comando env, lo que proporciona una visión integral del entorno de su shell.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/unset("Variable Unsetting") subgraph Lab Skills linux/echo -.-> lab-558776{{"Cómo comprobar si una variable está definida en Linux"}} linux/test -.-> lab-558776{{"Cómo comprobar si una variable está definida en Linux"}} linux/env -.-> lab-558776{{"Cómo comprobar si una variable está definida en Linux"}} linux/unset -.-> lab-558776{{"Cómo comprobar si una variable está definida en Linux"}} end

Mostrar el valor de una variable con echo

En este paso, aprenderá cómo mostrar el valor de una variable utilizando el comando echo. Las variables en Linux se utilizan para almacenar información que puede ser accedida y utilizada por el shell y otros programas.

Un tipo común de variable es la variable de entorno, que almacena información sobre el entorno del usuario, como el usuario actual, el directorio de inicio y el tipo de terminal.

Para mostrar el valor de una variable, se utiliza el comando echo seguido de un signo de dólar ($) y el nombre de la variable. El signo de dólar le indica al shell que desea ver el valor de la variable, no el nombre de la variable en sí.

Mostremos el valor de la variable de entorno USER, que almacena el nombre del usuario actualmente conectado.

Escriba el siguiente comando en su terminal y presione Enter:

echo $USER

Debería ver la salida:

labex

Esto muestra que el valor de la variable USER es labex, que es su nombre de usuario actual en el entorno de LabEx.

Ahora, mostremos el valor de la variable de entorno HOME, que almacena la ruta a su directorio de inicio.

Escriba el siguiente comando y presione Enter:

echo $HOME

Debería ver la salida:

/home/labex

Esto confirma que su directorio de inicio es /home/labex.

También puede mostrar el valor de la variable de entorno SHELL, que muestra la ruta al programa de shell que está utilizando actualmente.

Escriba el siguiente comando y presione Enter:

echo $SHELL

Debería ver la salida:

/usr/bin/zsh

Esto indica que actualmente está utilizando el shell zsh.

Utilizar echo con el signo de dólar es una forma fundamental de acceder y mostrar los valores de las variables en la terminal de Linux.

Probar la existencia de una variable con test -z

En este paso, aprenderá cómo comprobar si una variable está vacía o no está definida utilizando el comando test con la opción -z. Esto es útil en scripting para tomar decisiones basadas en si una variable tiene un valor.

El comando test se utiliza para evaluar expresiones condicionales. La opción -z comprueba si la longitud de una cadena es cero. Si la cadena está vacía (o la variable no está definida), la prueba es verdadera.

Probemos si una variable llamada MY_VARIABLE está definida. Primero, nos aseguraremos de que no esté definida.

Escriba el siguiente comando y presione Enter:

unset MY_VARIABLE

El comando unset elimina una variable. Ahora, usemos test -z para comprobar si MY_VARIABLE está vacía. Lo combinaremos con echo para ver el resultado de la prueba. El operador && ejecuta el segundo comando solo si el primer comando tiene éxito (devuelve un valor verdadero, lo que para test significa que se cumple la condición).

Escriba el siguiente comando y presione Enter:

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

Como acabamos de eliminar MY_VARIABLE, la condición test -z "$MY_VARIABLE" es verdadera (la variable está vacía), por lo que se ejecutará el comando echo.

Debería ver la salida:

MY_VARIABLE is empty or not set

Ahora, establezcamos un valor para MY_VARIABLE.

Escriba el siguiente comando y presione Enter:

MY_VARIABLE="Hello"

Ahora, ejecutemos de nuevo el mismo comando test -z.

Escriba el siguiente comando y presione Enter:

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

Esta vez, MY_VARIABLE tiene el valor "Hello", por lo que no está vacía. La condición test -z "$MY_VARIABLE" es falsa, y el comando echo no se ejecutará.

Esta vez, no debería ver ninguna salida del comando echo.

Esto demuestra cómo se puede usar test -z para comprobar si una variable está vacía o no está definida. Este es un concepto fundamental utilizado en scripting de shell para la lógica condicional.

Listar todas las variables de entorno con env

En este paso, aprenderá cómo listar todas las variables de entorno que están actualmente configuradas en su sesión de shell utilizando el comando env.

Las variables de entorno son cruciales para el comportamiento de su shell y programas. Almacenan información de configuración, rutas a archivos ejecutables y otras configuraciones.

El comando env, cuando se ejecuta sin argumentos, imprime una lista de todas las variables de entorno y sus valores.

Escriba el siguiente comando en su terminal y presione Enter:

env

Verá una larga lista de salida, similar a esta (la salida exacta variará según su sistema y configuración):

SHELL=/usr/bin/zsh
COLORTERM=truecolor
...
USER=labex
...
HOME=/home/labex
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
PWD=/home/labex/project
...

Cada línea en la salida representa una variable de entorno en el formato NOMBRE_VARIABLE=valor.

Puede ver algunas de las variables que exploramos en los pasos anteriores, como USER, HOME y SHELL. También verá muchas otras, como PATH, que le dice al shell dónde buscar comandos ejecutables, y PWD, que muestra su directorio de trabajo actual.

El comando env es una herramienta simple pero poderosa para inspeccionar el entorno de su shell. A menudo se utiliza para depurar o entender cómo podría comportarse un programa en función de su entorno.

Dado que la salida puede ser bastante larga, puede canalizar la salida de env a un paginador como less para verla pantalla por pantalla.

Escriba el siguiente comando y presione Enter:

env | less

Utilice las flechas del teclado para desplazarse hacia arriba y hacia abajo, y presione q para salir de less.

Este paso le introdujo a la lista de todas las variables de entorno. En los siguientes pasos, aprenderá más sobre cómo se utilizan estas variables y cómo puede interactuar con ellas.

Resumen

En este laboratorio, aprendiste técnicas fundamentales para trabajar con variables en Linux. Practicaste el uso del comando echo con el signo dólar ($) para mostrar los valores de variables de entorno como USER, HOME y SHELL, comprendiendo cómo este comando recupera la información almacenada.

Además, exploraste cómo comprobar la existencia o vacío de una variable utilizando el comando test con la opción -z, una habilidad crucial para la lógica condicional en scripting. Finalmente, aprendiste cómo listar todas las variables de entorno actualmente definidas utilizando el comando env, lo que proporciona una visión integral del entorno del shell.