我正在尝试复制名称以foo开头的所有XML文件
rsync /source/dir/foo*.xml /dest/dir
如果没有任何文件与此模式匹配,则rsync会引发错误:
rsync: link_stat "/source/dir/foo*.xml" failed: No such file or directory (2)
我应该关心这个错误吗?有没有办法抑制它?如果至少有一个文件与该模式匹配,则该命令将运行而不会出错。
最佳答案
有一个 bash 设置可以避免这种情况:
shopt -s failglob
从手册页:
否则,您可以使用
if
在无事可做时不运行rsync。如果您确实确实不希望进行任何同步,以使其删除不存在的文件,那么该命令可能是这样的:
rsync --include 'foo*.xml' \
--exclude '**' \
--delete \
/source/dir/ /dest/dir
斜杠很重要。
关于linux - rsync link_stat使用通配符时没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35798918/