fswatch
fswatch 는 Mac OS X FSEvents API를 사용하여 디렉토리를 모니터링하는 작은 프로그램입니다. 해당 디렉토리 변경에 대한 이벤트가 수신되면 지정된 쉘 명령이 다음과 같이 실행됩니다./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
참고 :에 의해 출력 되지 않은 경우에 의해 출력 된 숫자 -o
는 xargs
명령 끝에 추가됩니다 -I{}
. 해당 번호를 사용하기로 선택한 경우 {}
명령의 아무 곳에 나 배치 하십시오.
버전 0.x 의 이전 방법 :
fswatch ~/path/to/watch ~/script/to/run/when/files/change.sh
Homebrew를 사용한 설치
13/12/13 현재 홈 브루 에 다시 추가되었습니다 . 따라서 수식 목록 ( brew update
)을 업데이트 하면 다음과 같이하면됩니다.
brew install fswatch
Homebrew없이 설치
이 명령을 입력하십시오 Terminal.app
cd /tmp
git clone https://github.com/alandipert/fswatch
cd fswatch/
make
cp fswatch /usr/local/bin/fswatch
c
시스템에 컴파일러 가없는 경우 Xcode 또는 Xcode 명령 행 도구를 모두 설치해야합니다 (둘 다 무료). 그러나이 경우 homebrew를 확인하십시오 .
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.