Cómo verificar si la cadena no está vacía ni espacio en el script de shell

Cómo verificar si la cadena no está vacía ni espacio en el script de shell
En el shell scripting, es importante verificar si una cadena está vacía o contiene solo espacios antes de realizar cualquier operación en ella. Esto se debe a que realizar operaciones en una cadena vacía o solo de espacio puede conducir a resultados inesperados Este artículo discutirá varias formas de verificar si una cadena no está vacía ni espacio en el script de shell.

Cómo verificar si la cadena no está vacía ni espacio en el script de shell

Para verificar si una cadena no está vacía ni contiene espacios en un script de shell, puede usar los siguientes dos métodos:

  • Usando operadores -n y -z
  • Usando expresiones regulares

Método 1: Uso de operadores -n y -z

El operador -n verifica si la longitud de la cadena es mayor que cero, mientras que el operador -z verifica si la longitud de la cadena es cero. Podemos usar estos operadores en combinación para verificar si una cadena no está vacía ni espacio en el script de shell. Aquí hay un ejemplo:

#!/bin/bash
String = "Hola Linux"
if [-n "$ String"] && [-z "$ (echo $ string | tr -d '[: space:]')"]
entonces
echo "La cadena está vacía o contiene solo espacios."
demás
echo "La cadena no está vacía ni contiene solo espacios."
FI

En este ejemplo, primero verificamos si la longitud de la cadena es mayor que cero usando el operador -n. Luego, eliminamos todos los espacios de la cadena usando el TR comando y verifique si la longitud de la cadena resultante es cero usando el operador -z. Si ambas condiciones son verdaderas, podemos concluir que la cadena no está vacía ni contiene solo espacios.

Método 2: Uso de expresiones regulares

También podemos usar expresiones regulares para verificar si una cadena no está vacía ni espacio en el script de shell. Aquí hay un ejemplo:

#!/bin/bash
String = "Hola Linux"
if [["$ string" = ~ ^[[: space:]]*$]]
entonces
echo "La cadena está vacía o contiene solo espacios."
demás
echo "La cadena no está vacía ni contiene solo espacios."
FI

En este ejemplo, usamos el operador = ~ para que coincida con la cadena con la expresión regular ^[[: Space:]]*$, que coincide con cero o más espacios al principio y al final de la cadena. Si la cadena coincide con esta expresión regular, podemos concluir que está vacía o contiene solo espacios.

Conclusión

En la scripting de shell, es importante verificar si una cadena no está vacía ni contiene solo espacios antes de realizar cualquier operación en ella. Discutimos dos métodos para realizar esta verificación: usando operadores -n/-z y usando expresiones regulares. Al usar estos métodos, podemos asegurarnos de que nuestros scripts de shell manejen las cadenas correctamente y eviten errores inesperados.