fswatch
fswatch - це невелика програма, що використовує API Mac OS X FSEvents для контролю каталогу. Коли приймається подія про будь-яку зміну цього каталогу, вказана команда оболонки виконується/bin/bash
Якщо ви користуєтеся GNU / Linux,
inotifywatch (частина
inotify-tools
пакету більшості дистрибутивів) забезпечує аналогічні функції.
Оновлення: fswatch
тепер можна використовувати на багатьох платформах, включаючи BSD, Debian та Windows.
Синтаксис / Простий приклад
Новий спосіб перегляду декількох шляхів - для версій 1.x та новіших :
fswatch -o ~/path/to/watch | xargs -n1 -I{} ~/script/to/run/when/files/change.sh
Примітка: Виведення числа by -o
буде додано до кінця xargs
команди, якщо не для -I{}
. Якщо ви вирішите скористатися цим номером, поставте місце в {}
будь-якій команді.
Старіший спосіб для версій 0.x :
fswatch ~/path/to/watch ~/script/to/run/when/files/change.sh
Установка з Homebrew
За станом на 12.12.13 це було додано до домашнього пива - так! Отже, оновіть список формул ( brew update
) і тоді все, що вам потрібно зробити:
brew install fswatch
Установка без домашньої мови
Введіть ці команди Terminal.app
cd /tmp
git clone https://github.com/alandipert/fswatch
cd fswatch/
make
cp fswatch /usr/local/bin/fswatch
Якщо у вас немає c
компілятора у вашій системі, можливо, вам доведеться встановити інструменти командного рядка Xcode або Xcode - обидва безкоштовні. Однак якщо це так, вам, мабуть, варто просто перевірити домашню каву .
Додаткові параметри для fswatch
версії 1.x
Usage:
fswatch [OPTION] ... path ...
Options:
-0, --print0 Use the ASCII NUL character (0) as line separator.
-1, --one-event Exit fsw after the first set of events is received.
-e, --exclude=REGEX Exclude paths matching REGEX.
-E, --extended Use exended regular expressions.
-f, --format-time Print the event time using the specified format.
-h, --help Show this message.
-i, --insensitive Use case insensitive regular expressions.
-k, --kqueue Use the kqueue monitor.
-l, --latency=DOUBLE Set the latency.
-L, --follow-links Follow symbolic links.
-n, --numeric Print a numeric event mask.
-o, --one-per-batch Print a single message with the number of change events.
in the current batch.
-p, --poll Use the poll monitor.
-r, --recursive Recurse subdirectories.
-t, --timestamp Print the event timestamp.
-u, --utc-time Print the event time as UTC time.
-v, --verbose Print verbose output.
-x, --event-flags Print the event flags.
See the man page for more information.