文件变化时自动执行命令
entr 从 stdin 读取文件列表,当这些文件变化时运行指定命令。它常配合 find/git ls-files 使用,适合测试、构建和热重载。
find . -name '*.py' | entr -c pytest -q
git ls-files '*.go' | entr -r go run ./cmd/app
ls *.md | entr -c ./build.sh
entr 只监视 stdin 给出的文件,不会递归目录;先用 find/git ls-files 生成列表。-c 每次清屏,-r 重启子进程,-d 有新文件时退出;按场景选择。entr 可能失去监视;用 -r 或在编辑器里关闭原子保存。-n 或改用 watchexec。entr 不处理删除/重命名事件的复杂语义;需要更完整的事件用 inotifywait/watchexec。