Comprobar si la variable está configurada en Bash

Nilesh Katuwal 30 enero 2023
  1. Compruebe si la variable está configurada usando -v en Bash
  2. Compruebe si la variable está configurada usando -z en Bash
  3. Compruebe si la variable está configurada o no asignando un valor nulo en Bash
Comprobar si la variable está configurada en Bash

Primero debemos definir una variable y darle un valor para establecer una variable.

El valor puede ser nulo, pero debe ser asignado. Hay una distinción entre una variable no configurada y una variable nula.

A diferencia de los lenguajes de programación más comunes, Bash no tiene una función integrada para determinar si una variable está configurada o no. Aún así, tiene la capacidad de hacerlo.

En Bash Scripting, podemos usar las opciones -v var o -z $var como expresión con el comando condicional if para confirmar si una variable está configurada o no.

[[-v Name_Of_Variable]]
[[-z Name_Of_Variable]]

Si la variable está establecida, la expresión booleana devuelve True, de lo contrario, devuelve False.

Compruebe si la variable está configurada usando -v en Bash

Verificaremos si una variable está configurada usando la -v Variable ahora.

Definamos una variable X con un valor de 5. Si la variable está configurada, devolverá Variable 'X' is set..

#!/bin/bash

X=5  
 
if [[ -v X ]];  
then  
echo "Variable 'X' is set."  
else  
echo "Variable 'X' is not set."  
fi  

Producción :

Variable 'X' is set.

Como definimos la variable y le asignamos el valor, funcionó como se esperaba. Veamos otro ejemplo.

#!/bin/bash
     
if [[ -v Y ]];  
then  
echo "Variable 'Y' is set."  
else  
echo "Variable 'Y' is not set."  
fi 

Producción :

Variable 'Y' is not set.

Como no definimos ninguna variable Y, la salida dice que la variable Y no está configurada.

Compruebe si la variable está configurada usando -z en Bash

Verificaremos si una variable está configurada usando -z Variable ahora.

Definamos una variable X con un valor de 5. Si la variable está configurada, devolverá Variable 'X' is set..

#!/bin/bash
X=5  
 
if [[ -z ${X} ]];  
then  
echo "Variable 'X' is not set."  
else  
echo "Variable 'X' is set."  
fi  

Aquí, la primera condición if devolverá False, la segunda devolverá True y se imprimirá Variable 'X' is set..

Producción :

Variable 'X' is set.

Funcionó como se esperaba ya que definimos la variable y le asignamos un valor. Considere otro ejemplo.

#!/bin/bash

if [[ -z ${X} ]];  
then  
echo "Variable 'X' is not set."  
else  
echo "Variable 'X' is set."  
fi 

Producción :

Variable 'X' is not set.

Compruebe si la variable está configurada o no asignando un valor nulo en Bash

Verificaremos si una variable está configurada usando -v Variable ahora.

Definamos una variable X con un valor null como X="". Si la variable está configurada, devolverá Variable 'X' is set..

#!/bin/bash

X=""     
if [[ -v X ]];  then  
   echo "Variable 'X' is set."  
else  
   echo "Variable 'X' is not set."  
fi 

Producción :

Variable 'X' is set.

Como podemos ver, incluso si se asigna un valor null a una variable, aparecerá como establecido después de la verificación.

Artículo relacionado - Bash Variable