Я знаю о inotifywait
/inotifywatch
от inotify-tools, о entr
(http://entrproject.org/) и о дюжине сценариев оболочки, но они мне не нужны.
Мне нужно что-то похожее на guard
(https://github.com/guard/guard).
Они работают так: вы создаете файл в каталоге, в котором указывается, что отслеживать и что делать, когда эти файлы изменяются.
С охраной все в порядке, но это: 1) ресурсоемкий (а в больших проектах он медленный), 2) требуется целый Ruby + куча гемов зависимостей, 3) требуется плагин для запуска команд оболочки.
Также есть tup
(http://gittup.org/tup/), и он чертовски крут, за исключением одного чрезвычайно глупого ограничения: он не может выводиться в каталоги, отличные от того, где находится Tupfile
. Его способ заключается в создании Tupfile
в каждом подкаталоге, и это не работает для меня.
Что я хочу в конце: я указываю шаблоны файлов и каталоги (если нет, затем наблюдаю все) в каком-то файле, запускаю какую-то команду, и она отслеживает вещи, соответствующие заданным правилам, всякий раз, когда файлы изменяются / добавляются, они выполняют данные команды. Это оно.
Какие-либо предложения?