我有一个期望脚本,它将文件中的配置命令提供给路由器。我将进程记录到一个文件中,但是期望在配置文件结束之前停止写入日志。例如,如果配置文件有
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 语句,但脚本在此之前停止记录。