我的 Makefile 中有一个命令可以从外部源同步我的书目。如果rsync因为目标文件不存在而失败,则rsync退出并显示错误 23。我可以通过将输出传递到来隐藏错误,/dev/null但这仍然会导致我的 Makefile 退出。如何"Hi"在$(bib_dir)不存在的情况下输出以下 Makefile 代码?
sync_bibliography:
rsync $(bib_dir) bib 2>/dev/null
echo "HI"
Run Code Online (Sandbox Code Playgroud)
您可以使用 OR 运算符||。如果前面的命令失败并返回false,则执行右侧的命令。例子:
false || echo "The previous command failed"
Run Code Online (Sandbox Code Playgroud)
或者在你的情况下
rsync $(bib_dir) bib 2>/dev/null || echo "HI"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |