На самом деле есть: entr (1) будет запускать произвольные команды при изменении файлов, а также предоставляет возможность автоматической перезагрузки для перезапуска серверов приложений.
редактировать: несколько примеров
Перестройте, если исходные файлы изменились
$ find *.c | entr make
Запустите и автоматически перезагрузите тестовый сервер, если файлы изменятся
$ ls *.py | entr -r python main.py
Предоставление агента +/path/to/fifo
позволяет выполнять более сложные сценарии, инструктируя entr
запись имени каждого файла, который изменяется на именованный канал. Следующие файлы преобразуют файлы Markdown в текущем каталоге в HTML по мере их редактирования
$ ls *.md | entr +/tmp/notify &
$ while read F
> do
> markdown2html $F
> done < /tmp/notify