我有一个简单的脚本,用于监视文件的更改并将其与远程复制同步:
#!/bin/bash
while inotifywait -e close_write somefile
do
rsync somefile user@host.domain:./somefile
done
Run Code Online (Sandbox Code Playgroud)
它在 nano 上工作得很好,但在 vim 上失败了。当我使用 nano 时,它输出:
somefile CLOSE_WRITE,CLOSE
Run Code Online (Sandbox Code Playgroud)
并开始下一个循环,等待另一个版本。
当我使用 vim 时,没有输出,脚本只是以退出代码 0 关闭。
我做了一些研究,发现 close_write 是使用 initofywait 和 vim 的正确参数(首先我想使用修改事件),但由于某种原因它对我来说失败了。