我有一个bash脚本,在该脚本中,每当文件系统被更改时,我都要触发一个方法:
#!/bin/bash
function run {
echo Do some magic
// Do some magic
}
run
fswatch . src | 'run'
在本例中,我正在查看src
文件夹。
当我触发脚本时
./automater.sh
脚本在第一次正确执行run
函数时,当我更改某个文件时,脚本就会退出.
发布于 2017-09-20 03:24:49
BUT then it runs in a loop....
,我也是这样做的,因为在您的./automater.sh
执行之后,您的目录中有一些新的文件更改,您可以使用排除选项忽略这些文件,在我的例子中如下:
fswatch -l 5 -o -e ".*" -i "\\.py$" . | while read; \ do \ unittest || true done
|| true
,在使用shell脚本时,似乎需要使命令返回为真,我使用这个技巧来解决only first time correctly
问题。此外,您还可以在单独的终端窗口中运行fswatch . src
和“run”命令,以查找新的更改是什么。
https://stackoverflow.com/questions/45999364
复制相似问题