Как достичь Linux оболочки Inotify-Tools методы на OSX
Для мониторинга файла в Linux, я могу использовать такие инструменты inotify
#!/bin/bash
# with inotify-tools installed, watch for modification of file passed as first param
while inotifywait -e modify $1; do
# do something here
done
но как бы я добиться этого в OSX?
3 ответа
Решение
Если вы хотите обернуть это в скрипт Python, вы можете использовать Watchdog, который работает как с Linux, так и с OSX.
https://pypi.python.org/pypi/watchdog
Вот как выглядит замена pyinotify на watchdog:
https://github.com/raphdg/baboon/commit/2c115da63dac16d0fbdc9b45067d0ab0960143ed
Watchdog также имеет утилиту оболочки под названием watchmedo
:
watchmedo shell-command \
--patterns="*.py;*.txt" \
--recursive \
--command='echo "${watch_src_path}"' \
.
Ты можешь использовать entr
инструмент. Пример использования:
ls some_file | entr do_something
На Mac установить через Brew: brew install entr
,