entr
用于在文件更改时运行 shell 命令。以下脚本将输出文件已更改。每当文件/tmp/data.txt被修改。
#!/usr/bin/env sh
echo "/tmp/data.txt" | entr -s 'echo "File changed."'
一旦要执行的命令变得更加复杂,将它们移动到单独的函数并调用该函数会很方便entr
,如下所示:
#!/usr/bin/env sh
foo() { echo "File changed!"; }
echo "$0" | entr -s 'foo' # Error: command not found: foo
不幸的是,这引发了一个找不到命令错误,这表明我的本地定义的函数不可用于entr
.有没有办法让这项工作有效?这里的根本问题是什么?
亲切的问候