make在尝试zip -u某些文件后暂停并报告错误代码为12 .
错误代码12实际上是zip的退出状态,表示它"无所事事".
我不明白为什么这是一个非零退出状态.让zip安静地什么都不做是不是更合适?如果zip无关,它似乎不是一个实际问题.
我可以压制它:告诉make通过调用忽略zip的非零退出状态-zip -u.但这种方法的问题是12是我想忽略的唯一退出状态.所有其他人都表示会导致我想要中止的实际问题make.
也许我可以设置一个等于输出的变量echo $?,然后测试0或12但是zip在.mk文件中的每个语句之后执行此操作似乎很明显.
有一种优雅的方式来处理这个问题吗?
错误...作为一个快速而肮脏的解决方案,您可以使用shell包装器:
#!/bin/ksh
zip "$@"
rc=$?
if [[ rc -eq 12 ]]; then
exit 0
fi
exit $rc
Run Code Online (Sandbox Code Playgroud)
或者,您可以在Makefile中执行几乎相同的内联,但它看起来有点难看(必须是带有重复$标记等的shell单行程)
| 归档时间: |
|
| 查看次数: |
4676 次 |
| 最近记录: |