我有一个小的fswatch脚本,如下所示:
fswatch -d -0 -verbose -x --event Created /path/to/watch | xargs -n 1 -x -0 -I {} /path/to/script.sh {}
在script.sh
里面,我有:
echo "$1"
open -a /Applications/Google\ Chrome.app "$1"
exit
所以我正在监视要创建的文件(html文件),然后要在Chrome上打开它。
发生的事情是它开始在chrome上打开它,没有一个死循环无限期地停止。如果删除开头部分并仅使用echo "$1"
进行测试,则每个文件仅触发一次脚本,并且在运行filewatcher的情况下。如果我手动运行chrome命令,它将不会触发观察程序,所以我再次确信使用chrome打开文件会由于触发fswatch中的某些事件而导致无限循环。
有什么想法吗?