У меня есть ожидаемый сценарий, который передает команды конфигурации из файла на маршрутизатор. Я записываю процесс в файл, однако ожидаю, что запись в журнал перестанет происходить до конца файла конфигурации. Например, если файл конфигурации имеет
q r s t u v w x y 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, но скрипт прекращает ведение журнала до этого.