如果执行时间是基于输入的,则为期望脚本设置超时
Set timeout for expect script if execution time is input based
我有一个 expect 脚本,它执行远程 shell script.Now 执行 shell 脚本所花费的时间基于输入。更多输入,更多时间,更少输入更少 time.How 我应该设置我的超时值,因为如果将超时设置为 -1,那么它将仅使用 eof 退出,如果脚本被挂起,那么我们将有一个挂起的会话.
分析正在进行的脚本的输出模式后,我发现从输入 file.So 读取的所有行都出现了 "OK",我将其用作进度指示器以重置我的超时计数器。
以下是我为解决问题而编写的代码片段:
send -- "bash scriptname.sh \r"
expect {
-re "OK" {
exp_continue
}
-re "Enter XYZ value:" {
send "0000\r"
}
timeout {
exit
}
eof {
exit
}
}
我有一个 expect 脚本,它执行远程 shell script.Now 执行 shell 脚本所花费的时间基于输入。更多输入,更多时间,更少输入更少 time.How 我应该设置我的超时值,因为如果将超时设置为 -1,那么它将仅使用 eof 退出,如果脚本被挂起,那么我们将有一个挂起的会话.
分析正在进行的脚本的输出模式后,我发现从输入 file.So 读取的所有行都出现了 "OK",我将其用作进度指示器以重置我的超时计数器。 以下是我为解决问题而编写的代码片段:
send -- "bash scriptname.sh \r"
expect {
-re "OK" {
exp_continue
}
-re "Enter XYZ value:" {
send "0000\r"
}
timeout {
exit
}
eof {
exit
}
}