Cómo verificar la variable está configurada o vacía en Bash

Cómo verificar la variable está configurada o vacía en Bash
Una variable se puede definir o ser indefinido. Cuando cualquier variable no se declara o se declara, pero no se asigna ningún valor, entonces la variable no está configurada o indefinida. Cuando se declara y asigna cualquier variable con un valor, entonces se establece la variable. Muchas veces requiere saber que la variable particular está establecida o no para fines de programación. Uno de los propósitos importantes de verificar la variable está establecida o no es la validación de datos. Bash no tiene una función incorporada como otros lenguajes de programación estándar para verificar que una variable esté configurada o no. Pero Bash tiene una característica para hacer esta tarea. Cómo puede verificar la variable que se establece o no en Bash se muestra en este tutorial.

Sintaxis:

[[-v variable]] o [[-z variable]]

La opción '-v' o '-z' se usa para verificar que la variable está configurada o no. La expresión booleana anterior devolverá verdadero si la variable se establece y devuelve falso si la variable no está configurada o vacía.

$ variable+cadena

El sustituto de los parámetros es otra forma de verificar que la variable está configurada o no. Si se establece la variable, entonces el valor de la cadena volverá de lo contrario NULL regresará.

Ejemplo-1: marque la variable está configurada o no establecida usando la opción '-Z'

Crear un archivo bash llamado check_var1.mierda Con el siguiente script. Aquí, el primero 'si' La condición devolverá verdad y "La variable num no está configurada"Imprimirá. En la siguiente declaración, se asigna 20 a la variable, $ Num. La segunda condición 'si' devuelve falso y "Num se establece y el valor de num = 20"Imprimirá.

check_var1.mierda

#!/bin/bash
#Chek La variable está configurada o no
if [-z $ num]; entonces
echo "num 'variable no está configurado"
demás
echo "num 'variable está configurado"
FI
#Sign un valor
Num = 20
#Chek La variable está configurada o no después de asignar el valor
if [-z $ num]; entonces
echo "num 'variable no está configurado"
demás
echo "'num está configurado y el valor de num = $ num"
FI

Ejecutar el guión.

$ bash checkvar1.mierda

Ejemplo-2: verifique que la variable esté establecida o no estable utilizando el sustituto de los parámetros

Crear un archivo bash llamado "check_var2.mierda"Y agregue el siguiente script. Aquí, se asigna un valor de cadena a la variable, $ str antes de verificar la variable está configurada o no. La condición 'if' devolverá verdadero y el mensaje ","La variable 'str' está configurada y el valor es hola"Imprimirá.

check_var2.mierda

#!/bin/bash
#Establece la variable
str = "hola"
#Sign el valor "mundo" para verificar si la variable STR está establecida
checkVal = $ str+"world"
#Ceck La variable está configurada o no
if [$ checkval -eq "mundo"]; entonces
Echo "'str' variable está configurado y el valor es $ str"
demás
echo "La variable 'str' no está configurada"
FI

Ejecutar el guión.

$ bash checkvar2.mierda

Ejemplo-3: verifique que la variable esté vacía o no

Crear un archivo bash llamado "check_var3.mierda"Y agregue el siguiente script. El script almacenará el primer argumento de línea de comandos en una variable, $ argv que se prueba en la siguiente declaración. La salida será "El primer argumento está vacío"Si no se pasa ningún argumento, de lo contrario se imprimirá el valor del primer argumento.

check_var3.mierda

#!/bin/sh
#Realice el primer valor de argumento de línea de comandos
argv = "$ 1"
#Chek El primer valor de argumento se proporciona o no
[-V "$ argv"] && echo "El primer argumento está vacío" ||
echo "El valor del primer argumento es $ argv"

Ejecute el script sin ningún argumento.

$ bash checkvar3.mierda

Ejecute el script con un argumento.

$ bash checkvar3.prueba SH

Conclusión

En este tutorial se muestran diferentes formas de verificar la variable, no se establece o vacía. Esperanza, este tutorial ayudará a los usuarios a aprender las formas de probar cualquier variable bash.