Herakles
Profifragensteller
Moin!
Ich möchte einen Timeout mit expect abfangen. Folgender Code sollte dies bewerkstelligen:
Weil nun keine Einfgabe kommt - sprich die Bedingung >expect "toll"< nicht erfüllt wird, sollte expect nach einer Sekunde in den Timeout laufen - was es auch macht, das Script wird nach einer Dekunde beendet.
Allerdings wird weder die Reihe von + Zeichen ausgegeben, noch wird der Return-Value auf 4 gesetzt.
Wo liegt mein Fehler?
Herakles
Ich möchte einen Timeout mit expect abfangen. Folgender Code sollte dies bewerkstelligen:
Code:
#!/usr/bin/expect -f
exp_send "xxxxxxxxxxxxxx\n"
expect -timeout 1 "toll" {
timeout { exp_send "+++++++++++\n"
exit 4 }
}
Weil nun keine Einfgabe kommt - sprich die Bedingung >expect "toll"< nicht erfüllt wird, sollte expect nach einer Sekunde in den Timeout laufen - was es auch macht, das Script wird nach einer Dekunde beendet.
Allerdings wird weder die Reihe von + Zeichen ausgegeben, noch wird der Return-Value auf 4 gesetzt.
Wo liegt mein Fehler?
Herakles
Code:
herakles@cheetah:~/scripts$ ./test.sh
xxxxxxxxxxxx
herakles@cheetah:~/scripts$ echo $?
0
herakles@cheetah:~/scripts$