Es ist beim Programmieren der bash nicht möglich Bedingungen, wie
z.B. den Vergleich einer Variablen mit einem Wert direkt vorzunehmen,
man benutzt das Kommando test
Syntax:
test Bedingung
test liefert als falls die Bedingung erfüllt ist dien Wahrheitswert
0 (wahr) oder 1 (falsch) zurück. Statt test wird
meist die abkürzende Schreibweise
[ Bedingung ]
verwendet.
Man beachte, daß hinter bzw. vor den eckigen Klammer ein Leerzeichen
stehen muß. In Tabelle [*] sind die wichtigsten Operationen von
test zusammengestellt.
Verwendung des Kommandos test[+] | |
Zeichenketten | |
[ zk ] | wahr, wenn die Zeichenkette nicht leer ist |
[ -z zk ] | wahr, wenn die Zeichenkette leer ist |
[ zk1 = zk2 ] | wahr, wenn Zeichenkette1 identisch Zeichenkette2 |
[ zk1 != zk2 ] | wahr, wenn Zeichenkette1 ungleich Zeichenkette2 |
BEACHTE: Hochkomma [ $a'' = $b'' ] [+] | |
Zahlen | |
[ z1 -eq z2 ] | wahr, wenn die Zahlen gleich sind (equal) |
[ z1 -ne z2 ] | wahr, wenn die Zahlen nicht gleich sind (not equal) |
[ z1 -gt z2 ] | wahr, wenn Zahl1 größer als Zahl2 (greater then) |
[ z1 -ge z2 ] | wahr, wenn Zahl1 größer gleich Zahl2 (greater equal) |
[ z1 -lt z2 ] | wahr, wenn Zahl1 kleiner als Zahl2 (less than) |
[ z1 -le z2 ] | wahr, wenn Zahl1 kleiner gleich Zahl2 (less equal) |
Dateien | |
[ -e dat ] | wahr, wenn Datei existiert |
[ -f dat ] | wahr, wenn es sich um einer ,,normale`` Datei handelt (file) |
[ -r dat ] | wahr, wenn Datei lesbar ist |
[ -w dat ] | wahr, wenn Datei schreibbar ist |
[ -x dat ] | wahr, wenn Datei ausführbarist |
[ dat1 -nt dat2 ] | wahr, wenn Datei1 neuer als Datei2 ist |