Почему тайм-аут не работает в этом сценарии ожидания?

Я создал следующий скрипт для автоматизации процесса VPN. Скрипт запускает команду vpnc и вводит пароль для активации VPN:

 #!/usr/bin/expect


 set PASS [lindex $argv 0]

 set timeout 10
 spawn  vpnc
 expect    :            {send $PASS\r}
 expect eof

Но есть проблема: при неправильном аргументе пароля я ожидаю выхода скрипта через 10 секунд из-за тайм-аута, но этого не происходит. Вместо этого сценарий ожидания зависает из-за неправильного пароля.

Почему тайм-аут не происходит через 10 секунд?


person Community    schedule 08.07.2014    source источник
comment
запустите в режиме отладки как #!/usr/bin/expect -d, чтобы получить подробный вывод.   -  person slayedbylucifer    schedule 09.07.2014
comment
ответ предоставлен на superuser.com/q/778845/4714   -  person glenn jackman    schedule 10.07.2014


Ответы (1)


Явное ожидание ошибки тайм-аута

expect {
 timeout {error "Password incorrect"; exit 1}
 eof
person Mridula Madhusudan    schedule 25.02.2015