GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Testen Sie, ob die Zeichenfolge in Bash keine Leerzeichen enthält

Sie können die Regex-Syntax von bash verwenden.

Es erfordert die Verwendung von doppelten eckigen Klammern [[ ... ]] , (allgemein vielseitiger).
Die Variable muss nicht in Anführungszeichen gesetzt werden. Die Regex selbst darf nicht zitiert werden

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

Ausgabe

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

Viele dieser Antworten sind viel komplexer oder weniger lesbar, als sie sein sollten.

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

Linux
  1. Wie überprüfe ich, ob Bash eine Shellshock-Schwachstelle hat?

  2. Shell-Test, um ein Muster in einer Zeichenfolge zu finden?

  3. So prüfen Sie, ob String in Bash einen Teilstring enthält

  4. Konvertieren Sie eine Textzeichenfolge in Bash in ein Array

  5. Verwenden von random zum Generieren einer zufälligen Zeichenfolge in Bash

Bash Strings verketten

So prüfen Sie, ob eine Zeichenfolge in Bash eine Teilzeichenfolge enthält

Ersetzen von Zeichenfolgen in Bash

Bash-Skripting – Bedingte Anweisungen

Bash-Scripting – String-Manipulation

Bash-Anfängerserie Nr. 6:Zeichenfolgenoperationen in Bash