Mit dem Schlüsselwort „SimpleExpect“ können Sie erwartete Antworten von einem Dienst festlegen. Antworten können auch binäre Antworten (z. B. nicht druckbare ASCII-Zeichen) sein. Wenn Sie genau (oder annähernd) wissen, was erwartet wird, können Sie eine einfache erwartete Antwortzeichenkette erstellen, die abgeglichen werden soll.
Mit diesem Schlüsselwort erhalten Sie etwas Flexibilität: es werden verschiedene Antworten akzeptiert und nur wichtige Informationen herausgefiltert. Wenn Sie zusätzliche Flexibilität benötigen, sollten Sie die Syntax mit regulären Ausdrücken, die für das Schlüsselwort Expect verfügbar ist, einsetzen.
Die Skriptsyntax für „SimpleExpect“ lautet SimpleExpect=Antwort
. Die Antwort ist hierbei eine Zeichenfolge, die von einem Dienst zurückerwartet wird. Die folgende Tabelle zeigt die Schlüsselwörter, die Logik und Platzhalterzeichen Byte für Byte mit den Antworten abgleichen; Escape-Zeichen werden während des Vorgangs erweitert.
Schlüsselwort |
Beschreibung |
\x## |
Binärwert (als Hexadezimalwert), z. B. ist \x00 Null |
. |
Beliebiges Zeichen |
\% |
Das Zeichen „%“. |
\. |
Das Zeichen „.“ |
\\ |
Das Zeichen „\“. |
Note: Die Antwort wird nur mit der Anzahl der Zeichen, die in der erwarteten Zeichenkette angegeben sind, abgeglichen. Es wird erwartet, dass die Antwort mit diesen Zeichen beginnt. Alle zusätzlichen Zeichen am Ende werden ignoriert.
Beispiel 1:#
# Hinweis: Skriptkommentare beginnen mit dem Zeichen „#“
#
# Send=Hallihallo
#
# Eine schöne Antwort erwarten
#
SimpleExpect=Hallo, wie gehts?
Beispiel 2:#
# Befehl mit CR/LF am Ende senden
#
Send=Select * from Kostenstellen\r\n
#
# Wir erwarten eine lange Antwort; uns interessiert nur,
# dass das erste Wort „Kunde“ ist
#
SimpleExpect=Kunde
Beispiel 3:#
# binäres Escape (27), ein x y und z und anschließend ein NAK (21) senden
#
Send=\x1B\x15
#
# Ein beliebiges Byte erwarten (uns egal), dann ein abc und ein ACK (6)
#
SimpleExpect=.abc\x06