Test: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
Der Befehl ''test'' überprüft Dateien und vergleicht Werte. | Der Befehl ''test'' überprüft Dateien und vergleicht Werte. Vorallem bei Skripten verwendet, um zu testen, ob eine Datei vorhanden ist und ob sie den richtigen Typ hat. | ||
==Syntax== | ==Syntax== | ||
Version vom 17. September 2019, 09:11 Uhr
Der Befehl test überprüft Dateien und vergleicht Werte. Vorallem bei Skripten verwendet, um zu testen, ob eine Datei vorhanden ist und ob sie den richtigen Typ hat.
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 |
| -h | Die Datei existiert und ist ein Softlink |
| -p | Die Datei existiert und ist eine "Named" Pipe |
| -S | Die Datei existiert und ist ein Socket (Achtung! Großes S verwenden! Siehe kleines s) |
| -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 |
Quelle
- Manpage von test
Alexanderrogers (Diskussion) 10:07, 17. Sep. 2019 (CEST)