【发布时间】:2014-05-18 01:16:06
【问题描述】:
我目前的解决方案是使用 python 库看门狗和 bash sn-p (originally taken from here)。
watchmedo shell-command client/js/src/templates/ proto/ --recursive \
--patterns="*.soy;*.proto" \
--command="echo \"WATCHMEDO file changed - rebuilding\"; make genfiles;"
基本上我在看几个模板文件,然后如果其中一个发生变化,就会自动运行 make genfiles。
我想知道是否有办法在纯 bash 中做到这一点?我宁愿我的所有开发人员都不必依赖那个 Python 库。
我在 OSX 上。
【问题讨论】:
-
也许您可以结合使用
md5sum和WATCHME_<file name here>形式的环境变量。将原始校验和存储在文件的环境中。 var 然后为该文件运行md5sum,如果该结果与文件的 env var 不匹配,您就知道它已更改。 -
看起来最好的解决方案是使用这个库。 github.com/alandipert/fswatch。整洁的小东西,但这将我的依赖从 python 转移到 homebrew。我想没有内置命令可以做我想做的事。
-
您需要多快速对变化做出反应?多久发生一次变化?正如 red cricket 向您建议的那样,可以进行简短的 find-mdsum 组合,但这一切都取决于您的需求......
-
或者,也许您可以从
fs_usage命令获得可用的输出。 (需要以root身份运行)