我有一个expect脚本,它执行远程shell脚本。现在执行shell脚本所花费的时间是基于输入的。更多的输入,更多的时间,更少的输入更少的时间。我应该如何设置我的超时值,因为如果将超时设置为-1,那么它将仅使用eof退出,并且如果脚本被挂起,那么我们将有一个挂起的会话。 / p>
答案 0 :(得分:0)
在分析正在进行的脚本的输出模式后,我发现从输入文件中读取的所有行都会出现“OK”。所以,我用它作为进度指示器来重置我的超时计数器。 以下是我为解决问题而编写的代码部分:
send -- "bash scriptname.sh \r"
expect {
-re "OK" {
exp_continue
}
-re "Enter XYZ value:" {
send "0000\r"
}
timeout {
exit
}
eof {
exit
}
}