GNU/Linux >> Tutoriales Linux >  >> Linux

Pruebe si la cadena tiene caracteres que no son espacios en blanco en Bash

Puede usar la sintaxis de expresiones regulares de bash.

Requiere que use corchetes dobles [[ ... ]] , (más versátil, en general).
La variable no necesita ser citada. La expresión regular en sí no debe ser citado

for str in "         "  "abc      " "" ;do
    if [[ $str =~ ^\ +$ ]] ;then 
      echo -e "Has length, and contain only whitespace  \"$str\"" 
    else 
      echo -e "Is either null or contain non-whitespace \"$str\" "
    fi
done

Salida

Has length, and contain only whitespace  "         "
Is either null or contain non-whitespace "abc      " 
Is either null or contain non-whitespace "" 

Muchas de estas respuestas son mucho más complejas o mucho menos legibles de lo que deberían ser.

[[ $string = *[[:space:]]* ]]  && echo "String contains whitespace"
[[ $string = *[![:space:]]* ]] && echo "String contains non-whitespace"

Linux
  1. Cómo comprobar si la cadena contiene una subcadena en Bash

  2. Convierta una cadena de texto en bash en una matriz

  3. ¿Qué hace 'bash -c'?

  4. Eliminar todos los caracteres especiales y mayúsculas y minúsculas de la cadena en bash

  5. usando random para generar una cadena aleatoria en bash

Bash concatenar cadenas

Cómo verificar si una cadena contiene una subcadena en Bash

Sustitución de cadena en Bash

Bash Scripting - Declaraciones condicionales

Bash Scripting – Manipulación de cadenas

Bash Beginner Series #6:Operaciones de cadenas en Bash