De fato, existe: entr (1) executará comandos arbitrários quando os arquivos forem alterados e também fornece uma opção de recarregamento automático para reiniciar servidores de aplicativos.
edit: alguns exemplos
Reconstruir se os arquivos de origem mudarem
$ find *.c | entr make
Inicie e recarregue automaticamente o servidor de teste se os arquivos forem alterados
$ ls *.py | entr -r python main.py
O fornecimento de um documento +/path/to/fifo
permite scripts mais complexos, instruindo entr
a escrever o nome de cada arquivo que muda para um canal nomeado. A seguir, os arquivos do Markdown no diretório atual serão convertidos para HTML, à medida que forem editados
$ ls *.md | entr +/tmp/notify &
$ while read F
> do
> markdown2html $F
> done < /tmp/notify