Vergleichoperatoren und Bedigungsüberprüfungen

Nun noch den passenden Artikel zum test-Befehl, über den wir bereits bei den IF-Anweisungen gesprochen haben.

Hier zeige ich die verschiedenen Möglichkeiten um eine Prüfung in einer IF-Anweisung mit Hilfe des test-Befehls durchzuführen.

-r Dateiname
Die Datei Dateiname exisitert und ist lesbar

-w Dateiname
Die Datei Dateiname existiert und ist beschreibbar

-x Dateiname
Die Datei Dateiname existiert und ist ausführbar

-d Dateiname
Die Datei Dateiname existiert und ist ein Verzeichnis

-s Dateiname
Die Datei Dateiname existiert und ist nicht leer

-b Dateiname
Die Datei Dateiname existiert und ist ein blockorientiertes Gerät

-c Dateiname
Die Datei Dateiname existiert und ist ein zeichenorientiertes Gerät

-g Dateiname
Die Datei Dateiname existiert und das SGID-Bit ist gesetzt

-k Dateiname
Die Datei Dateiname existiert und das Sticky-Bit ist gesetzt

-u Dateiname
Die Datei Dateiname existiert und das SUID-Bit ist gesetzt

-p Dateiname
Die Datei Dateiname existiert und ist ein Named Pipe

-e Dateiname
Die Datei Dateiname existiert

-f Dateiname
Die Datei Dateiname existiert und ist eine reguläre Datei

-L Dateiname
Die Datei Dateiname existiert und ist ein symbolischer Link

-S Dateiname
Die Datei Dateiname existiert und ist ein Socket

-O Dateiname
Die Datei Dateiname existiert und ist Eigentum des Anwenders, unter dessen UID das test-Programm gerade läuft

-G Dateiname
Die Datei Dateiname existiert und gehört zu der Gruppe, zu der der User gehört, unter dessen UID das test-Programm gerade läuft

Datei1 -nt Datei2
Datei1 ist neuer als Datei2 (newer than)

Datei1 -ot Datei2
Datei1 ist älter als Datei2 (older than)

Datei1 -ef Datei2
Datei1 und Datei2 benutzen die gleiche I-Node (equal file)

-z Zeichenkette
Wahr wenn Zeichenkette eine Länge von Null hat.

-n Zeichenkette
Wahr wenn Zeichenkette eine Länge von größer als Null hat.

Zeichenkette1 = Zeichenkette2
Wahr wenn Zeichenkette1 gleich Zeichenkette2

Zeichenkette1 != Zeichenkette2
Wahr wenn Zeichenkette1 ungleich Zeichenkette2

Wert1 -eq Wert2
Wahr, wenn Wert1 gleich Wert2 (equal)

Wert1 -ne Wert2
Wahr, wenn Wert1 ungleich Wert2 (not equal)

Wert1 -gt Wert2
Wahr, wenn Wert1 größer Wert2 (greater than)

Wert1 -ge Wert2
Wahr, wenn Wert1 größer oder gleich Wert2 (greater or equal)

Wert1 -lt Wert2
Wahr, wenn Wert1 kleiner Wert2 (less than)

Wert1 -le Wert2
Wahr, wenn Wert1 kleiner oder gleich Wert2 (less or equal)

!Ausdruck
Logische Verneinung von Ausdruck

Ausdruck -a Ausdruck
Logisches UND. Wahr, wenn beide Ausdrücke wahr sind

Ausdruck -o Ausdruck
Logisches ODER. Wahr wenn mindestens einer der beiden Ausdrücke wahr ist

So das wären alle möglichen Versionen. Falls ihr Fragen dazu habt könnt ihr auch in der Konsole folgendes eingeben:

$ test man

Dies zeigt euch die Manualpage vom test-Command.

– Julien

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert