如果执行时间是基于输入的,则为期望脚本设置超时

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
                 }
       }