A utility for running arbitrary commands when files change. Uses kqueue(2) or inotify(7) to avoid polling. entr responds to file system events by executing command line arguments or by writing to a FIFO. entr was written to provide to make rapid feedback and automated testing natural and completely ordinary.
WARNING: This is a (possibly outdated and/or unmaintained) fork of https://github.com/eradman/entr . If you want to install entr, go to the the original repository to get the latest release. Likewise, to file an issue or a pull request, head over to the the original repository.
entrwas 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
entrto respond inconsistently. Since version 4.4,
entrincludes a workaround: Set the environment variable
entrwill 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:
$ ls *.js | entr -r node app.js
Clear the screen and run a query after the SQL script is updated:
$ echo my.sql | entr -cp psql -f /_
Rebuild project if a source file is modified or added to the src/ directory:
$ while sleep 0.1; do ls src/*.rb | entr -d make; done
Auto-reload a web server, or terminate if the server exits
$ ls * | entr -rz ./httpd
A release history as well as features in the upcoming release are covered in the NEWS file.