сброс таймера ожидания ожидания при получении от команды отправки - PullRequest
0 голосов
/ 17 сентября 2018

Можно ли сбросить таймер тайм-аута, пока команда, выданная с помощью команды "send", печатает свои выходные данные?

Дело в том, что я хотел бы запустить на многих серверах команду, подобную find / -exec head {} /;.Я хочу сбросить таймер, пока команда печатает вывод.Я не люблю устанавливать время в часах ...

Спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

С exp_continue это возможно.

set threshold 1
set timeout 60; # 1 min
send "find / -exec head {} / \r"
expect {
    # Your prompt here
    "#"; {puts "prompt matched. cmd completed"}
    timeout {
        # Checking for max of 10 mins 
        if {$threshold>10} {
            puts "output took more time than threshold"
            exit 1
        }
        incr threshold
        puts "Still waiting for the prompt"
        # The below command will reset the expect timer 
        # and will cause the same expect loop to run again
        exp_contintue;
    }
}
...