Timeout funktioniert nicht im Expect-Skript

1349
THE_BIG_EXPERT

Ich habe das folgende Expect-Skript erstellt, um die Anmeldung an einem VPN zu automatisieren:

 #!/usr/bin/expect  set PASS [lindex $argv 0]  set timeout 10 spawn vpnc expect :  expect eof 

Wenn ich jedoch ein falsches Kennwort eingebe, wird die erwartete 10 Sekunden nicht angezeigt.

Warum tritt dieser 10-Sekunden-Timeout nicht auf?

1

1 Antwort auf die Frage

1
glenn jackman

Ich würde das Timeout explizit erwarten:

set timeout 10 spawn vpnc expect : send [lindex $argv 0]\r expect { timeout  eof } 
Was ist der Punkt? , wie lösen Sie das? , wo bin ich falsch THE_BIG_EXPERT vor 10 Jahren 0
Ich vermute, dass Ihr Skript, wenn Sie "eof" erwarten, zum Zeitpunkt des Timeouts nichts dagegen tut. Hast du meinen Code getestet? "Der Punkt" ist offensichtlich, dass ich Ihnen bei Ihrem Problem helfen möchte. Was machst du mit meinen Bemühungen? glenn jackman vor 10 Jahren 1
ok Ich werde Ihre Lösung auf meinem Rechner überprüfen. Ich werde so schnell wie möglich zurückkehren und Ihnen mitteilen, was passiert ist - :) THE_BIG_EXPERT vor 10 Jahren 0
WÄHLEN SIE FÜR IHRE ARBEITEN THE_BIG_EXPERT vor 10 Jahren 0