attendre programme envoyer des commandes à partir du fichier

Comment faire pour envoyer la commande du programme “expect” à lire dans un fichier et utiliser chaque ligne comme argument.

Je veux utiliser une structure comme une boucle dans un programme attendu qui peut ressembler à la suivante (NOTE: – tandis que la boucle est imaginaire).

spawn /my/program expect { -re EBtxjjmEcQTxc0SLd4TdXxjUduxCOLZBwEme2Z.*password: { while read_line in FILE; do send $read-line; done } 

Comment programmer l’équivalent de la partie while-loop en utilisant “expect”

Notez dans votre question qu’il vous manquait un accolade et que vous avez mal saisi votre nom de variable ( read_line et read-line )

Attendez-vous à une extension Tcl, vous avez donc toutes les commandes Tcl à votre disposition

 spawn /my/program expect { -re EBtxjjmEcQTxc0SLd4TdXxjUduxCOLZBwEme2Z.*password: { set fh [open FILE r] while {[gets $fh read_line] != -1} { send "$read_line\r" } close $fh } } 

Si vous installez tcllib , vous pouvez le faire

 package require fileutil spawn /my/program expect { -re EBtxjjmEcQTxc0SLd4TdXxjUduxCOLZBwEme2Z.*password: { fileutil::foreachLine read_line FILE { send "$read_line\r" } } }