если команда верна в течение X секунд выполненный код в сценарии оболочки удара

я хочу, если оператор, чтобы только работать, если условие в операторе верно в течение по крайней мере 3 секунд подряд, как я достигаю его в Linux, колотит сценарий оболочки? я не сделал этого прежде, и ничто не мог найти конкретным путем поиска с помощью Google и буду значительно ценить любую справку! я не имею в виду как цикл, который выполняет условие x сумма времен, но функция, что проверки условия верны для, по крайней мере, x секунды/минуты подряд, прежде чем это выполнит блок кода.

заранее спасибо

0
задан 11 February 2020 в 16:35

2 ответа

Это не возможно, необходимо придерживаться цикла или по крайней мере протестировать, сон 3, тест снова.

1
ответ дан 20 February 2020 в 22:56

Компьютеры (цифровые) работают с дискретным временем, они не понимают непрерывное время. В дискретное время условие “остается” верным, если это верно в каждом образце. Таким образом, необходимо выполнить цикл и считать успешные образцы в нем.

Если Вы хотите сделать цикл в зависимости от времени часов, а не повторного счета, сохранить время начала и протестировать, протекло ли ожидаемое время в условии цикла.

1
ответ дан 20 February 2020 в 22:56

Другие вопросы по тегам:

Похожие вопросы: