GNU/Linux >> Linux Esercitazione >  >> Linux

Verifica se la stringa ha caratteri non spazi bianchi in Bash

Puoi usare la sintassi regex di bash.

Richiede l'uso di doppie parentesi quadre [[ ... ]] , (più versatile, in generale).
La variabile non deve essere quotata. La regex stessa non deve essere citato

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

Uscita

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

Molte di queste risposte sono molto più complesse, o molto meno leggibili, di quanto dovrebbero essere.

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

Linux
  1. Come verificare se Bash ha una vulnerabilità Shellshock?

  2. Come dividere una stringa nello script Bash

  3. identificatore previsto prima della stringa costante

  4. Cosa fa 'bash -c'?

  5. Rimuovi tutti i caratteri speciali e le maiuscole dalla stringa in bash

Bash concatena le stringhe

Come verificare se una stringa contiene una sottostringa in Bash

Sostituzione di String in Bash

Bash Scripting – Dichiarazioni condizionali

Bash Scripting – Manipolazione di stringhe

Bash Beginner Series #6:Operazioni con le stringhe in Bash