我有一个 bash 脚本,我想在每次更改文件系统时触发一个方法:
#!/bin/bash
function run {
echo Do some magic
// Do some magic
}
run
fswatch . src | 'run'
在这种情况下,我正在查看src
文件夹。
当我通过触发脚本时
./automater.sh
脚本第一次正确执行该run
函数,然后当我更改某些文件时,脚本简单地退出......
我有一个 bash 脚本,我想在每次更改文件系统时触发一个方法:
#!/bin/bash
function run {
echo Do some magic
// Do some magic
}
run
fswatch . src | 'run'
在这种情况下,我正在查看src
文件夹。
当我通过触发脚本时
./automater.sh
脚本第一次正确执行该run
函数,然后当我更改某些文件时,脚本简单地退出......
BUT then it runs in a loop....
,我也打了这个,因为在你./automater.sh
执行之后,你的目录中有一些新的文件更改,你可以使用排除选项来忽略这些文件,在我的例子中像:
fswatch -l 5 -o -e ".*" -i "\\.py$" . | while read; \
do \
unittest || true
done
|| true
,似乎需要在你在 shell 脚本中使用时让你的命令返回 true,我用这个技巧来解决only first time correctly
问题您也可以fswatch . src
在单独的终端窗口中运行您的“运行”命令,以查找新更改是什么。