事件通知测试运行器
一个用于在文件变更时运行任意命令的实用工具。使用kqueue(2)或inotify(7)来避免轮询。entr
的编写目的是为了在命令行上提供快速反馈。
源代码安装 - BSD、Mac OS和Linux
./configure
make test
make install
要查看可用的构建选项,请运行./configure -h
Docker和WSL
在_Windows Subsystem for Linux_和_Docker for Mac_上不完整的inotify支持可能导致entr
响应不正确。设置环境变量ENTR_INOTIFY_WORKAROUND
可以使entr
在这些环境中正常运行。
Linux特性
通过设置环境变量ENTR_INOTIFY_SYMLINK
,可以监控符号链接的变化。
手册页示例
如果源文件发生变化,重新构建项目,将输出限制在前20行:
$ find src/ | entr -s 'make | head -n 20'
启动并自动重新加载node.js服务器:
$ ls *.js | entr -r node app.js
在更新SQL脚本后清除屏幕并运行查询:
$ echo my.sql | entr -cp psql -f /_
如果src/目录中的源文件被修改或添加,重新构建项目:
$ while sleep 0.1; do ls src/*.rb | entr -d make; done
自动重新加载Web服务器,或在服务器退出时终止:
$ ls * | entr -rz ./httpd