Test: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 58: | Zeile 58: | ||
|DATEI1 -nt/-ot DATEI2 || Die Datei ist bzgl. seines Änderungsdatums neuer/älter als die andere Datei | |DATEI1 -nt/-ot DATEI2 || Die Datei ist bzgl. seines Änderungsdatums neuer/älter als die andere Datei | ||
|- | |- | ||
| -e | | -e || Die Datei existiert | ||
|- | |||
| -f || Die Datei existiert und ist eine normale Datei | |||
|- | |||
| -d || Die Datei existiert und ist ein Verzeichnis | |||
|- | |||
| -b || Die Datei existiert und ist eine blockorientierte Gerätedatei | |||
|- | |||
| -c || Die Datei existiert und ist eine charakterorientierte Gerätedatei | |||
|- | |||
| -p || Die Datei existiert und ist eine "Named" Pipe | |||
|- | |||
| -S || Die Datei existiert und ist ein Socket (''Achtung! Großes S verwenden!'') | |||
|- | |||
| -r || Die Datei existiert und ist lesbar | |||
|- | |||
| -w || Die Datei existiert und ist schreibbar | |||
|- | |||
| -x || Die Datei existiert und ist ausführbar | |||
|- | |||
| -s || Die Datei existiert und hat eine Dateigröße größer als 0 | |||
|- | |||
| -u || Die Datei existiert und hat das "Set-UID"-Bit gesetzt | |||
|- | |||
| -g || Die Datei existiert und hat das "Set-GID"-Bit gesetzt | |||
|- | |||
| -k || Die Datei existiert und hat das "Sticky"-Bit gesetzt | |||
|} | |} |
Version vom 17. September 2019, 09:05 Uhr
Der Befehl test überprüft Dateien und vergleicht Werte.
Syntax
$ test <Datei> $ test <Wert1> OPTION <Wert2>
- Nur test ohne Parameter oder Ausdrücke liefert immer den Wert FALSCH.
- Ein test ! ohne Parameter oder Ausdrücke liefert immer den Wert WAHR.
- Um herauszufinden, welcher Wert herauskommt, muss man echo $? eingeben. 0 ist wahr, 1 ist falsch.
- Vor und hinter dem Operator ein Leerzeichen, sonst wird es als ein Ausdruck wahrgenommen
$ test ; echo Der Errorlevel ist $? Der Errorlevel ist 1
$ test ! ; echo Der Errorlevel ist $? Der Errorlevel ist 0
Optionen
Option/Ausdruck | Beschreibung | Beispiel | Errorlevel |
---|---|---|---|
ZEICHENKETTE | Die Länge der ZEICHENKETTE ist nicht 0 | test Beispiel | 0 |
-z ZEICHENKETTE | Die Länge der Zeichenkette ist 0 | test -z Beispiel | 1 |
ZEICHENKETTE1 = ZEICHENKETTE2 | Die Zeichenketten sind identisch | test Haha = Haha | 0 |
ZEICHENKETTE1 != ZEICHENKETTE2 | Die Zeichenketten sind nicht identisch | test Haha != Haha | 1 |
Option/Ausdruck | Beschreibung | Beispiel | Errorlevel |
---|---|---|---|
ZAHL1 -eq ZAHL2 | ZAHL1 ist gleich ZAHL2 | test 5 -eq 5 | 0 |
ZAHL1 -ge ZAHL2 | ZAHL1 ist größer als oder gleich ZAHL2 | test 5 -ge 2 | 0 |
ZAHL1 -gt ZAHL2 | ZAHL1 ist größer als ZAHL2 | test 5 -gt 4 | 0 |
ZAHL1 -lt ZAHL2 | ZAHL1 ist kleiner als ZAHL2 | test 5 -lt 6 | 0 |
ZAHL1 -le ZAHL2 | ZAHL1 ist kleiner als oder gleich ZAHL2 | test 5 -le 7 | 0 |
ZAHL1 -ne ZAHL2 | ZAHL1 ist nicht gleich ZAHL2 | test 5 -ne 5 | 1 |
Achtung: test kann nur ganze Zahlen vergleichen.
Option/Ausdruck | Beschreibung |
---|---|
DATEI1 -ef DATEI2 | Die Dateien haben dieselben Geräte- und Inode-Nummern |
DATEI1 -nt/-ot DATEI2 | Die Datei ist bzgl. seines Änderungsdatums neuer/älter als die andere Datei |
-e | Die Datei existiert |
-f | Die Datei existiert und ist eine normale Datei |
-d | Die Datei existiert und ist ein Verzeichnis |
-b | Die Datei existiert und ist eine blockorientierte Gerätedatei |
-c | Die Datei existiert und ist eine charakterorientierte Gerätedatei |
-p | Die Datei existiert und ist eine "Named" Pipe |
-S | Die Datei existiert und ist ein Socket (Achtung! Großes S verwenden!) |
-r | Die Datei existiert und ist lesbar |
-w | Die Datei existiert und ist schreibbar |
-x | Die Datei existiert und ist ausführbar |
-s | Die Datei existiert und hat eine Dateigröße größer als 0 |
-u | Die Datei existiert und hat das "Set-UID"-Bit gesetzt |
-g | Die Datei existiert und hat das "Set-GID"-Bit gesetzt |
-k | Die Datei existiert und hat das "Sticky"-Bit gesetzt |