Test: Unterschied zwischen den Versionen

Aus Foxwiki
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, 10: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

Zeichenkette
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
Zahlen
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.

Dateien
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