rsync: 如何复制不存在错误的文件

分享于 

1分钟阅读

电脑

  繁體

问题:

我的Makefile中有一个命令,可以从外部源同步。 因为目标文件不存在, rsync 失败,rsync 退出,错误为 23。 如何获取以下生成文件代码,以便在 $(bib_dir) 不存在时输出 "Hi"


sync_bibliography:


 rsync $(bib_dir) bib 2>/dev/null


 echo"HI"




回答 1:

你可以使用or运算符 ||。 如果前一个命令失败并且 return false,则执行右侧的命令。 例如:


false || echo"The previous command failed"



或者在你的情况下


rsync $(bib_dir) bib 2>/dev/null || echo"HI"




回答 2:

将rsync命令放入一个 shell script 中,然后调用Makefile中的shell script。 在 shell script的末尾,总是 return true。



文件  cop  拷贝  exi  Rsync