:IF... :ELSE... :ENDIF

Verwenden Sie die Script-Anweisungen :IF und :ENDIF, um einen Bedingungsblock in Ihrem Script zu erstellen. Das Script analysiert einen Ausdruck und führt Anweisungen aus, die in den Block geschrieben wurden, wenn eine bestimmte Bedingung erfüllt ist. Wenn die Bedingung nicht erfüllt ist, fährt das Script entweder mit der nächsten Zeile nach dem Bedingungsblock fort oder führt gegebenenfalls :ELSE-Anweisungen aus.

Syntax

:IF Condition
[Statements]
[:ELSE]
[Other Statements]
:ENDIF

Parameter

Hinweise:

Wichtig! Die :IF-Anweisung erkennt keine Unterschiede in Zeichen über die ersten 1024 Zeichen einer Zeichenkette hinaus.

Eine Bedingung enthält einen der folgenden Vergleichsoperatoren:

Operator

Kurzform

Regel

=

EQ

Der Ausdruck ist „wahr", wenn mindestens ein Vergleichswert dem Wert entspricht.

<>

NE

Der Ausdruck ist „wahr", wenn keiner der Vergleichswerte gleich dem Wert ist.

<

LT

Der Ausdruck ist „wahr", wenn ein Vergleichswert den angegebenen Begriff erfüllt.

>

GT

<=

GT

>=

GE

Beispiele

  • Der folgende Vergleich von &a mit &b liefert „wahre“ Ausdrücke, da die nachfolgenden Leerzeichen eliminiert werden, bevor die Zeichenketten verglichen werden.
  • :set &a= 'a   '
    :set &b= 'a'
    :if &a = &b
    :print 'true'
    :endif

    Weisen beide Vergleichswerte der Bedingung einen numerischen Wert auf (Datentyp signed, unsigned oder float), so wird numerisch vergleichen. In allen anderen Fällen findet ein Zeichenketten-Vergleich statt.

    Die folgende Bedingung ist wahr:

    :IF "0" = "0"

    Ein alphanumerischer Vergleich findet statt, wenn es keine numerischen Werte gibt.

    Die folgende Bedingung ist falsch:

    :IF "0" = "abc"

    Beim Vergleich von Zeichenfolgen wird nicht deren Länge geprüft. Die folgende Bedingung ist wahr, da S im Alphabet vor U steht:

    :IF "Smith" < "UX"

    Bei Bedingungen, die mehrere ODER-Schlüsselwörter beinhalten, hängt das Verhalten vom Benutzer ab.

    In den folgenden Beispielen muss einer der Werte zutreffen, damit die Bedingung erfüllt wird.

    :IF&WD# = "MON" OR "TUE" OR "WED"

    Die folgende Bedingung ist nur erfüllt, wenn die Variable keinem der drei Werte entspricht.

    :IF&WD# <> "THU" OR "FRI" OR "SAT"

    Siehe auch: