On Unix Expect funktioniert mit virtuellen Terminals. Im Gegensatz dazu verwendet Expect unter Windows das Debugging-Subsystem. (Es gibt nichts wie wie virtuelle Terminals unter Windows.) Dies hat die Unterseite, dass Programme, die als nicht zu debuggen markiert sind (dh einige Systemprogramme, einschließlich telnet.exe
obwohl ftp.exe
möglicherweise auch auf dieser Liste sein) kann nicht automatisiert werden von Erwarten überhaupt. Das Betriebssystem verweigert Expect nur die Verbindung mit dem Prozess.
Ist das was passiert mit dir? Ich kann nicht von den minimalen Informationen, die Sie gegeben haben, erzählen, aber es ist bei weitem der häufigste Grund für Probleme mit der Portierung eines Expect-Skripts zwischen Plattformen (sobald Sie alltägliche Dinge wie verschiedene Pfade und Programme, die nur aren sind, berücksichtigt haben) 't There auf allen Plattformen).
Die obere Seite ist, dass sowohl Tcl als auch Perl durchaus in der Lage sind, direkt mit allem zu sprechen, was Sie verwenden würden (da beide bei TCP/IP vollkommen kompetent sind) . In der Tat, beide sind wahrscheinlich besser darin, es nativ zu tun als alles, was Sie wahrscheinlich durch den Einsatz von Expect erreichen würden.
Haben Sie den TCL-Compiler in Windows installiert? – mkHun
Ja, ich habe installiert (tclsh86), es zeigt keinen Fehler, aber das vollständige tcl (expect) -Skript wird nicht ausgeführt – john
Woher wissen Sie, dass es nicht alle Befehle ausführt? zeig uns etwas. –