Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ENTR(1)			  BSD General Commands Manual		       ENTR(1)

     entr -- run arbitrary commands when files change

     entr [-cdprs] utility [argument /_	...]

     A list of files provided on the standard input and	the utility is exe-
     cuted using the supplied arguments	if any of them change.	entr waits for
     the child process to finish before	responding to subsequent file system
     events.  A	TTY is also opened before entering the watch loop in order to
     support interactive utilities.

     The arguments are as follows:

     -c	     Execute /usr/bin/clear before invoking the	utility	specified on
	     the command line.

     -d	     Track the directories of regular files provided as	input and exit
	     if	a new file is added.  This option also enables directories to
	     be	specified explicitly.  Files with names	beginning with `.' are

     -p	     Postpone the first	execution of the utility until a file is modi-

     -r	     Reload a persistent child process.	 SIGTERM is used to terminate
	     the utility before	it is restarted. A process group is created to
	     prevent shell scripts from	masking	signals.  entr waits for the
	     utility to	exit to	ensure that resources such as sockets have
	     been closed.

     -s	     Evaluate the first	argument using the interpreter specified by
	     the SHELL environment variable.  When this	flag is	set, the name
	     of	the shell and exit code	is printed after each invocation.

     The first argument	named /_ is replaced with the absolute path of the
     file leading a file system	event.	If the restart option is used the
     first file	under watch is treated as the default.

     If	PAGER is undefined, entr will assign /bin/cat to prevent interactive
     utilities from waiting for	keyboard input if output does not fit on the

     If	SHELL is undefined, entr will use /bin/sh.

     The entr utility exits with one of	the following values:

	   0	   SIGINT or SIGTERM was received
	   1	   No regular files were provided as input or an error oc-
	   2	   A file was added to a directory and the directory watch op-
		   tion	was specified

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

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

     Rebuild project if	a source file is modified or added to the src/ direc-

	   $ while true; do ls src/*.rb	| entr -d make;	done

BSD			       February	27, 2017			   BSD


Want to link to this manual page? Use this URL:

home | help