O seguinte snippet do código bash pode ser colocado dentro de um script bash executável:
FORMAT=$(echo -e "3[1;33m%w%f3[0m written")
while /usr/bin/inotifywait -qe close_write --format "$FORMAT" restart.txt
do
[ $(cat restart.txt) -eq 1] && /path/to/program/to/be/executed || echo "nothing to do"
done
A chamada para inotifywait observa o arquivo restart.txt, no modo q uiet (ou seja, suprimindo alguma saída) para um evento ( -e ) que é < em> feche o arquivo depois de abri-lo para escrever . No entanto, inotifywait não pode distinguir se o arquivo foi realmente gravado, então a seguinte linha implementa um teste: se restart.txt contiver 1
, execute algum arquivo, mas se ainda contiver 0
, fazer nada.