Selon l'extrait suivant de la page de manuel pour expect:
"attendre [[-opts] pat1 body1] ... [-opts] patn [bodyn]
attend que l'un des modèles corresponde à la sortie d'un processus généré, qu'une période spécifiée se soit écoulée ou qu'une fin de fichier soit vue. Si le corps final est vide, il peut être omis.
Les modèles de la commande expect_before la plus récente sont implicitement utilisés avant tout autre modèle. Les modèles de la commande expect_after la plus récente sont implicitement utilisés après tout autre modèle.
Si les arguments de la totalité de l'instruction expect nécessitent plusieurs lignes, tous les arguments peuvent être "contreventés" en une seule afin d'éviter de terminer chaque ligne par une barre oblique inverse. Dans ce cas, les substitutions Tcl habituelles se produiront malgré les accolades.
Si un modèle est le mot clé eof, le corps correspondant est exécuté à la fin du fichier. Si un modèle est le mot-clé timeout, le corps correspondant est exécuté lors du timeout. Si aucun mot clé timeout n'est utilisé, une action null implicite est exécutée lors du timeout. Le délai d'expiration par défaut est de 10 secondes mais peut être réglé, par exemple sur 30, par la commande "set timeout 30". Un délai infini peut être désigné par la valeur -1. Si un modèle est le mot-clé par défaut, le corps correspondant est exécuté à l'expiration ou à la fin du fichier.
Si un modèle correspond, le corps correspondant est exécuté. attend renvoie le résultat du corps (ou la chaîne vide si aucun modèle ne correspond). Dans le cas où plusieurs motifs correspondent, celui qui apparaît en premier est utilisé pour sélectionner un corps. ... "