Linux (including Android), MacOS and BSD all have particular rules conditions Separate them out into three sections to make the logic for each clear.
|5 days ago|
|missing||7 months ago|
|.gitignore||1 year ago|
|LICENSE||7 years ago|
|Makefile.bsd||2 days ago|
|Makefile.linux||6 years ago|
|Makefile.macos||6 years ago|
|NEWS||2 days ago|
|README.md||2 months ago|
|configure||2 years ago|
|data.h||1 year ago|
|entr.1||1 week ago|
|entr.c||2 days ago|
|entr_spec.c||1 week ago|
|system_test.sh||3 months ago|
A utility for running arbitrary commands when files change. Uses kqueue(2) or
inotify(7) to avoid polling.
entr was written to make rapid feedback and
automated testing natural and completely ordinary.
./configure make test make install
To see available build options run
Incomplete inotify support on WSL and Docker for Mac can cause
to respond inconsistently. Since version 4.4,
entr includes a workaround:
Set the environment variable
entr will confirm the workaround is enabled:
entr: broken inotify workaround enabled
Rebuild a project if source files change, limiting output to the first 20 lines:
$ find src/ | entr sh -c 'make | head -n 20'
Launch and auto-reload a node.js server:
$ find . -name '*.js' | entr -r node app.js
Clear the screen and run a query after the SQL script is updated:
$ echo my.sql | entr -p psql -f /_
Rebuild project if a source file is modified or added to the src/ directory:
$ while sleep 0.1; do find src -name '*.rb' | entr -d make; done
Self-terminate after a file is updated
$ find . -type f | entr -p 'kill $PPID'
A release history as well as features in the upcoming release are covered in the NEWS file.