Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Bedingte Ausdrücke

&pagelevel(4)&pagelevel

Einen bedingten Ausdruck verwenden Sie zum Testen der Eigenschaften von Dateien, für algebraische Vergleiche und zum Vergleich von Zeichenketten. In der POSIX-Shell werden die bedingten Ausdrücke innerhalb der Anweisung [[...]] angegeben. Die Ersetzung von Blanks und die Erzeugung von Dateinamen werden nicht auf die Wörter des bedingten Ausdrucks angewandt. Jeder bedingte Ausdruck kann aus einem oder mehreren der folgenden unären oder binären Ausdrücke gebildet werden:

Ist in den folgenden Ausdrücken datei von der Form /dev/fd/n (fd - file descriptor, n ist eine ganze Zahl), dann wird der Test auf die geöffnete Datei mit Dateikennzahl n durchgeführt.

-a datei

(a - access) wahr, wenn datei existiert.

-b datei

(b - block device) wahr, wenn datei existiert und ein blockorientiertes Gerät ist.

-c datei

(c - character device) wahr, wenn datei existiert und ein zeichenorientiertes Gerät ist.

-d datei

(d - directory) wahr, wenn datei existiert und ein Dateiverzeichnis ist.

-f datei

(f - file) wahr, wenn datei existiert und eine einfache Datei ist.

-g datei

(g - group ID) wahr, wenn datei existiert und das set-user-ID-Bit für die Gruppe gesetzt ist.

-k datei

(k - sticky) wahr, wenn datei existiert und das sticky- oder t-Bit gesetzt ist.

-o option

(o - option) wahr, wenn die angegebene Option option aktiv ist, wobei option mit dem vollen Optionsnamen angegeben sein muss, z.B. errexit. (option kann mit set gesetzt werden).

-p datei

(p - pipe) wahr, wenn datei existiert und eine benannte Pipe (FIFO) oder eine Pipe ist.

-r datei

(r - read) wahr, wenn datei existiert und der aktuelle Prozess das Leserecht hat.

-s datei

(s - size) wahr, wenn datei existiert und nicht leer ist.

-t dateikennzahl

(t - terminal) wahr, wenn dateikennzahl geöffnet und einer Datensichtstation zugeordnet ist.

-u datei

(u - user ID) wahr, wenn datei existiert und das set-user-ID-Bit für den Eigentümer gesetzt ist.

-w datei

(w - write) wahr, wenn datei existiert und der aktuelle Prozess das Schreibrecht hat.

-x datei

(x - execute) wahr, wenn datei existiert und der aktuelle Prozess das Ausführrecht hat. Existiert datei und ist sie ein Dateiverzeichnis, dann muss für wahr der aktuelle Prozess das Recht zum Durchlaufen haben.

-G datei

(G - group) wahr, wenn datei existiert und die Gruppe der Datei der effektiven Gruppennummer des aktuellen Prozesses entspricht.

-L datei

(L - symbolic link) wahr, wenn datei existiert und ein symbolischer Link ist.

-O datei

(O - owner) wahr, wenn datei existiert und der Eigentümer der Datei der effektiven Benutzernummer des aktuellen Prozesses entspricht.

-S datei

(S - socket) wahr, wenn datei existiert und ein Socket ist.

datei1 -nt datei2

(nt - newer than) wahr, wenn datei1 existiert und neuer als datei2 ist.

datei1 -ot datei2

(ot - older than) wahr, wenn datei1 existiert und älter als datei2 ist.

datei1 -ef datei2

(ef - equal file) wahr, wenn datei1 und datei2 existieren und beide ein Verweis auf dieselbe Datei sind.

Eigenschaften und Vergleiche von Zeichenketten

-n zeichenkette

(n - non zero) wahr, wenn die zeichenkette existiert und nicht die leere Zeichenkette ist, also eine Länge größer 0 hat.

-z zeichenkette

(z -zero) wahr, wenn die angegebene zeichenkette die leere Zeichenkette ist, also die Länge 0 hat.

zeichenkette = muster

wahr, wenn zeichenkette1 auf muster passt.

zeichenkette != muster

wahr, wenn zeichenkette1 auf muster passt.

zeichenkette1 < zeichenkette2

wahr, wenn zeichenkette1 alphabetisch (EBCDIC-Ordnung) vor zeichenkette2 liegt.

zeichenkette1 > zeichenkette2

wahr, wenn zeichenkette1 alphabetisch (EBCDIC-Ordnung) nach zeichenkette2 liegt.

Algebraischer Vergleich ganzer Zahlen

zahl1 -eq zahl2

(eq - equal) wahr, wenn zahl1 gleich zahl2 ist.

zahl1 -ne zahl2

(ne - not equal) wahr, wenn zahl1 ungleich zahl2 ist.

zahl1 -lt zahl2

(lt - less than) wahr, wenn zahl1 kleiner als zahl2 ist.

zahl1 -gt zahl2

(gt - greater than) wahr, wenn zahl1 größer als zahl2 ist.

zahl1 -le zahl2

(le - less than or equal) wahr, wenn zahl1 kleiner oder gleich zahl2 ist.

zahl1 -ge zahl2

(ge - greater than or equal) wahr, wenn zahl1 größer oder gleich zahl2 ist.

Bedingungen verknüpfen oder negieren

Mehrere Bedingungen können Sie miteinander zu einem Ausdruck verknüpfen. Die folgenden Konstrukte sind nach Priorität geordnet; Klammerung hat die höchste, das logische ODER die niedrigste Priorität:

( bedingung )

bedingung steht hier für (eine oder) mehrere Bedingungen, die beliebig miteinander verknüpft sind. Der Ausdruck ist wahr, wenn bedingung wahr ist.

! bedingung

Negation: wahr, wenn bedingung falsch ist.

bedingung1 && bedingung2

Logisches UND: wahr, wenn bedingung1 und bedingung2 wahr sind.

bedingung1 || bedingung2

Logisches ODER: wahr, wenn entweder bedingung1 oder bedingung2 wahr ist.