Bash test operatoren

Es gibt zwei arten von bash Versionen. Einmal die
normal sh version, und dann die erweiterte bash version.

Beide haben unterschiedliche Syntax, jedoch ist bash
vollkommen zu sh kompatiebel.

Wenn man Scripte schreibt, welche auf reinem unix systemen
lauffähig sein sollen, sollte man scripte sh kompatiebel schreiben.

Es gibt noch weitaus mehrere Operatoren, hier finden sich nur die
gängigsten.

IF construkt

if [ operator "variable"]; then
 #anweisungen
fi

Negieren funktioniert mit dem ! Zeichen.

if [ ! operator "variable"]; then
 #anweisungen
fi

String tests

Uninitialisiert oder Initialisiert

if [ -z "$var" ]
then
  #variable ist null
else
  #variable ist nicht null
fi
if [ -n "$var" ]
then
  #var ist nicht leer
else
  #var ist uninitialisiert
fi

Gleichheit einer Variable

if [ "$var1" = "$var2" ]
then
  #variablen sind gleich
else
  #variablen sind ungleich
fi
if [ "$var1" != "$var2" ]
then
  #variablen sind ungleich
else
  #variablen sind gleich
fi

Integer tests

Integer gleichheit

if [ "$a" -eq "$b" ]

Integer ungleichheit

if [ "$a" -ne "$b" ]

Größer als

if [ "$a" -gt "$b" ]

Größer oder gleich

if [ "$a" -ge "$b" ]

Kleiner als

if [ "$a" -lt "$b" ]

Kleiner oder gleich

if [ "$a" -le "$b" ]

Dateitests

Datei existiert

if [ -e "$file" ]

Datei ist regulär

Es handelt sich um eine datei, kein Ordner oder Link etc.

if [ -f "$file" ]

Datei hat mehr als 0b

if [ -s "$file" ]

Datei ist Ordner

if [ -d "$file" ]