Zgodnie z poniższym wyciągiem ze strony man for expect:
"expect [[-opts] pat1 body1] ... [-opts] patn [bodyn]
czeka, aż jeden z wzorców pasuje do wyniku odrodzonego procesu, upłynął określony czas lub widać koniec pliku. Jeśli końcowe ciało jest puste, można je pominąć.
Wzorce z najnowszej komendy expect_before są domyślnie używane przed innymi wzorami. Wzorce z najnowszej komendy expect_after są domyślnie używane po wszelkich innych wzorcach.
Jeśli argumenty całej instrukcji expect wymagają więcej niż jednego wiersza, wszystkie argumenty mogą zostać „połączone” w jeden, aby uniknąć kończenia każdego wiersza odwrotnym ukośnikiem. W tym jednym przypadku, pomimo nawiasów klamrowych, nastąpi zwykłe podstawienie Tcl.
Jeśli wzorzec jest słowem kluczowym eof, odpowiednia treść jest wykonywana na końcu pliku. Jeśli wzorzec jest limitem czasu słowa kluczowego, odpowiednie ciało jest wykonywane po upływie limitu czasu. Jeśli nie zostanie użyte słowo kluczowe limitu czasu, po upływie limitu czasu zostanie wykonana niejawna akcja zerowa. Domyślny limit czasu wynosi 10 sekund, ale można go ustawić na przykład na 30, za pomocą polecenia „ustaw limit 30”. Nieskończony limit czasu może być oznaczony wartością -1. Jeśli wzorzec jest domyślnym słowem kluczowym, odpowiednie ciało jest wykonywane po przekroczeniu limitu czasu lub na końcu pliku.
Jeśli wzorzec pasuje, wówczas wykonywane jest odpowiednie ciało. expect zwraca wynik treści (lub pustego łańcucha, jeśli żaden wzór nie pasuje). W przypadku dopasowania wielu wzorów, ten, który pojawia się jako pierwszy, służy do wybierania treści. ... ”