Я использую команду inotifywait
для запуска команды при возникновении события файловой системы. Я бы хотел, чтобы это подождало 5 секунд, чтобы узнать, произошло ли событие еще, и если это произойдет, я хотел бы сбросить таймер на пять секунд и подождать еще несколько. Имеют смысл?Адресные таймеры в Bash
Моя проблема в том, что я нападаю на это в Bash, и я не знаю, как это сделать. В JavaScript, я хотел бы использовать SetTimeout с некоторым кодом, как это:
function doSomething() { ... }
var timer;
function setTimer() {
window.clearTimeout(timer)
timer = window.setTimeout(doSomething, 5000);
}
// and then I'd just plug setTimer into the inotifywait loop.
Но есть адресно, Устраняемые фоновые таймеры в Bash?
В некоторых ситуациях вы можете имитировать их, используя фоновый процесс, который запускает 'sleep'. Однако я не уверен, как вы будете использовать это для своего приложения. – Barmar