超时在期望脚本中不起作用


1

我创建了以下expect脚本以自动登录到VPN:

 #!/usr/bin/expect

 set PASS [lindex $argv 0]

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

但是,当我给出错误的密码参数时,预期的10秒不会发生。

为什么没有发生10秒超时?

Answers:


1

我明确地期望超时:

set timeout 10
spawn  vpnc
expect :
send [lindex $argv 0]\r
expect {
    timeout {error "incorrect password"; exit 1}
    eof
}

那有什么意义呢?你怎么解决这个问题?,我哪里错了?
THE_BIG_EXPERT 2014年

1
我猜测,当你期待“eof”时,当超时发生时,你的脚本对它没有任何作用。你测试我的代码了吗?显而易见的“重点”是我正在努力帮助解决你的问题。你打算怎么处理我的努力?
格伦杰克曼2014年

好的我会在我的机器上检查你的解决方案,我会尽快回来给你发生的事情 - :)
THE_BIG_EXPERT 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.