Event Notify Test Runner
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.
Source Installation - BSD, Mac OS, and Linux
./configure make test make install
To see available build options run
Source Installation - Windows Subsystem for Linux
wget http://entrproject.org/patches/entr-3.9-wsl patch -p1 < entr-3.9-wsl ./configure make install
The source patch is the current workaround for deformed inotify support on WSL.
The following distributions provide
entr as part of their main
- OpenBSD and FreeBSD
- Mac OS using Homebrew or MacPorts
- Debian, Ubuntu, Fedora, Nix/NixOS and Alpine Linux
Man Page Examples
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
Launch and auto-reload a node.js server as a background task:
$ (ls *.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 true; do ls src/*.rb | entr -d make; done
A release history as well as features in the upcoming release are covered in the NEWS file.
Source is under and ISC-style license. See the LICENSE file for more detailed information on the license used for compatibility libraries.