Skip to content
/ entr Public

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

Notifications You must be signed in to change notification settings

clibs/entr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d6a22dc · Oct 4, 2023
Feb 17, 2023
Aug 25, 2023
Dec 13, 2022
May 20, 2023
Jun 2, 2014
Jan 16, 2023
Aug 1, 2023
Oct 4, 2023
Oct 4, 2023
Jun 1, 2023
Feb 20, 2023
Aug 1, 2023
Aug 25, 2023
Aug 1, 2023

Repository files navigation

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.

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 facilitate rapid feedback on the command line.

Source Installation - BSD, Mac OS, and Linux

./configure
make test
make install

To see available build options run ./configure -h

Docker and WSL

Incomplete inotify support on Windows Subsystem for Linux and Docker for Mac may cause entr to respond incorrectly. Setting the environment variable ENTR_INOTIFY_WORKAROUND enables entr to operate in these environments.

Linux Features

Symlinks can be monitored for changes by setting the environment variable ENTR_INOTIFY_SYMLINK.

Man Page Examples

Rebuild a project if source files change, limiting output to the first 20 lines:

$ find src/ | entr -s '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

News

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

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published