You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Eric Radman 7d8e4a3102 Revert "Move WatchFile struct to main source file"
This reverts commit f9ac92d17e.

Used for inotify support
1 month ago
missing Set IN_CLOEXEC only for inotify_init 1 month ago
.gitignore Add .gitignore 3 years ago
LICENSE Fix up stray whitespace 3 months ago
Makefile.bsd 'make test' runs a quick smoketest, 'make check' runs regression 1 month ago
Makefile.linux Use CPPFLAGS for settings that belong the C Preprocessor. Ports should be able to set CFLAGS without breaking the build 9 years ago
Makefile.macos Removed unused references to fmemopen() 2 months ago
NEWS Set IN_CLOEXEC only for inotify_init 1 month ago
README.md Sync the README with the man page examples 1 month ago
configure Respond to attribute events indicating an inode changes on Linux only 2 months ago
data.h Revert "Move WatchFile struct to main source file" 1 month ago
entr.1 Sync the README with the man page examples 1 month ago
entr.c Revert "Move WatchFile struct to main source file" 1 month ago
system_test.sh system_test: configure git email address locally 1 month ago

README.md

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 ./configure -h

Docker and WSL

Incomplete inotify support on Windows Subsystem for Linux and Docker for Mac can cause entr to respond inconsistently. Setting the environment variable ENTR_INOTIFY_WORKAROUND will enable 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.