Se você tem inotify-tools
instalado (pelo menos esse é o nome do pacote no Debian) quando você pode fazer algo assim:
while inotifywait -q -e modify filename >/dev/null; do
echo "filename is changed"
# do whatever else you need to do
done
Isso aguarda o evento "modify" acontecer com o arquivo chamado "filename". Quando isso acontece, o comando inotifywait
produz filename MODIFY
(que descartamos enviando a saída para / dev / null) e, em seguida, termina, o que faz com que o corpo do loop seja inserido.
Leia a página de manual de inotifywait
para mais possibilidades.