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
.有沒有辦法讓這份工作有效?
親切的問候