Comprobar si la variable está configurada en Bash
-
Compruebe si la variable está configurada usando
-v
en Bash -
Compruebe si la variable está configurada usando
-z
en Bash - Compruebe si la variable está configurada o no asignando un valor nulo 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.