На вопрос StackOverflow, который вы цитировали, добавлен еще один ответ - в Homebrew есть утилита fswatch
.
Обратите внимание, что команда fswatch
больше похожа на inotifywatch
, а не на inotifywait
. Это означает, что вместо однократного ожидания изменения файла и последующего выхода он входит в бесконечный цикл печати измененных файлов - так что вы можете перехватить изменения с помощью канала Unix. Тогда ваш сценарий будет "наизнанку", скажем так.
Например, в Linux у меня обычно есть oneliner, который запускает мою команду для изменения файла с помощью inotifywait
:
while true; do inotifywait -q -e modify files... ; my_command; done
Хотя fswatch
для того же эффекта, мне нужно:
fswatch files... | (while read; do my_command; done)
Выше предполагается, что вам не нужны измененные файлы в качестве аргументов вашей команды. Если это произойдет, они вам понадобятся, это будет выглядеть так:
fswatch files... | (while read x; do echo $x | xargs my_command; done)
Надеюсь это поможет :)
ура