Sì, puoi controllare una directory tramite inotify sistema utilizzando inotifywait o inotifywatch da inotify-tools.
inotifywait uscirà al rilevamento di un evento. Passa l'opzione -r per guardare le directory in modo ricorsivo. Esempio:inotifywait -r mydirectory .
Puoi anche specificare l'evento da guardare invece di guardare tutti gli eventi. Per attendere solo modifiche al contenuto di file o directory utilizzare l'opzione -e modify .
Questo è un miglioramento rispetto alla risposta fornita nella domanda. Quando si interrompe lo script, il processo di esecuzione dovrebbe essere terminato.
#!/bin/sh
sigint_handler()
{
kill $PID
exit
}
trap sigint_handler SIGINT
while true; do
example@unixlinux.online &
PID=$!
inotifywait -e modify -e move -e create -e delete -e attrib -r `pwd`
kill $PID
done