我有一个期望脚本,它将文件中的配置命令提供给路由器。我将进程记录到一个文件中,但是期望在配置文件结束之前停止写入日志。例如,如果配置文件有
q r s 吨 你 v w X 是的 z eof
日志将包含直到 u 的所有交互,但其余的不在日志中,但似乎该过程一直到 z 完成。通常的文件比较结束似乎不起作用,所以我尝试了以下方法。
    set ok 0;
    while { $ok == 0 } {
      set line [ gets $config ];
       expect  { 
            "#" { send -s "$line\r"; }
            -re "\[.]" { send -s "$line\r"; }
        }
         if { $line == "eof" } {
           set ok 1;
        } else { }
   }
   close $config
它开始将 ok 设置为 1 并离开 while 语句,但脚本在此之前停止记录。