Nach folgendem Auszug aus der Manpage für Expect:
"Erwarte [[-opts] pat1 body1] ... [-opts] patn [bodyn]
Wartet, bis eines der Muster mit der Ausgabe eines gespawnten Prozesses übereinstimmt, ein bestimmter Zeitraum verstrichen ist oder ein Dateiende angezeigt wird. Wenn der endgültige Körper leer ist, kann er weggelassen werden.
Muster aus dem letzten Befehl expect_before werden implizit vor allen anderen Mustern verwendet. Muster aus dem letzten Befehl expect_after werden implizit nach allen anderen Mustern verwendet.
Wenn die Argumente für die gesamte expect-Anweisung mehr als eine Zeile erfordern, können alle Argumente in eine "Klammer" gesetzt werden, um zu vermeiden, dass jede Zeile mit einem Backslash abgeschlossen wird. In diesem einen Fall treten die üblichen Tcl-Substitutionen trotz der Klammern auf.
Wenn ein Muster das Schlüsselwort eof ist, wird der entsprechende Text am Ende der Datei ausgeführt. Wenn ein Muster das Schlüsselwort timeout ist, wird der entsprechende Text beim Timeout ausgeführt. Wenn kein Schlüsselwort timeout verwendet wird, wird beim Timeout eine implizite Null-Aktion ausgeführt. Die Standard-Zeitüberschreitungsperiode beträgt 10 Sekunden, kann jedoch beispielsweise durch den Befehl "set timeout 30" auf 30 gesetzt werden. Eine unendliche Zeitüberschreitung kann durch den Wert -1 angegeben werden. Wenn ein Muster das Standardschlüsselwort ist, wird der entsprechende Text entweder bei Zeitüberschreitung oder Dateiende ausgeführt.
Wenn ein Muster übereinstimmt, wird der entsprechende Body ausgeführt. expect gibt das Ergebnis des Rumpfes zurück (oder die leere Zeichenkette, wenn kein Muster gefunden wurde). Für den Fall, dass mehrere Muster übereinstimmen, wird das zuerst angezeigte zur Auswahl eines Körpers verwendet. ... "