geniusrim / entr

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Installation - BSD, Mac OS, and Linux

./configure
make test
make install

To see available build options run ./configure -h

Installation - Mac OS/Homebrew

brew install entr

Installation - Ports

Available in OpenBSD ports, FreeBSD ports, and pkgsrc under sysutils/entr.

Installation - Debian

apt-get install entr

Examples from man entr

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 -p psql -f /_

Rebuild project if a source file is modified or added to the src/ directory:

$ while sleep 1; do ls src/*.rb | entr -d rake; done

News

A release history as well as features in the upcoming release are covered in the NEWS file.

License

Source is under and ISC-style license. See the LICENSE file for more detailed information on the license used for compatibility libraries.

About

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.

License:Other


Languages

Language:C 80.3%Language:Shell 14.1%Language:Groff 5.6%