我的文件编辑器会创建以.
.
我在跑步:
watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
我在编辑时看到了临时文件的事件,然后在文件保存时看到了两个事件(大概是因为它执行了删除和写入操作)。
我希望看到一个事件——仅在我保存文件时。
有没有办法让我只用 CLI 来做到这一点?我对创建 python 脚本和直接使用 watchdog API 不感兴趣。
使用--ignore-patterns
( -i
) 开关。
watchmedo shell-command \
-p'*.py' \
-R \
-c'echo "${watch_src_path}"'\
--ignore-patterns="*/.*"
请注意,watchmedo 在完整的 watch_src_path 上匹配,因此您的忽略模式不能".*"
像您最初想的那样简单。此外,通配符的所有缺陷都是有效的,所以如果你正在做一些愚蠢的事情,比如在隐藏目录中工作,/path/to/some/.hidden/dir
那么你必须有一个更漂亮的模式。
如果与目录相关的事件也引起您的烦恼,您可能还需要--ignore-directories
( -D
) 开关(这只是布尔值,不需要参数)。