このスクリプトを使用して、ディレクトリ ツリーの変更に対してビルド スクリプトを実行します:
#!/bin/bash -eu
DIRECTORY_TO_OBSERVE="js" # might want to change this
function block_for_change {
inotifywait --recursive \
--event modify,move,create,delete \
$DIRECTORY_TO_OBSERVE
}
BUILD_SCRIPT=build.sh # might want to change this too
function build {
bash $BUILD_SCRIPT
}
build
while block_for_change; do
build
done
inotify-tools
を使用 . inotifywait
をチェック ビルドをトリガーするものをカスタマイズする方法については、man ページを参照してください。
entr
を試すことができます ファイルが変更されたときに任意のコマンドを実行するツール。ファイルの例:
$ ls -d * | entr sh -c 'make && make test'
または:
$ ls *.css *.html | entr reload-browser Firefox
または Changed!
を出力 ファイル file.txt
の場合 保存されます:
$ echo file.txt | entr echo Changed!
ディレクトリには -d
を使用します 、ただし、ループ内で使用する必要があります。例:
while true; do find path/ | entr -d echo Changed; done
または:
while true; do ls path/* | entr -pd echo Changed; done