gpt4 book ai didi

unix - 由于zip退出状态为12,因此中止了

转载 作者:行者123 更新时间:2023-12-04 12:21:51 25 4
gpt4 key购买 nike

尝试对某些文件进行make后,zip -u停止并报告错误代码12。

错误代码12实际上是zip的退出状态,表明它“无事可做”。

我不明白为什么这是一个非零的退出状态。让zip安静地不执行任何操作更合适吗?如果zip无关,这似乎不是一个实际问题。

我可以抑制它:通过调用make告诉-zip -u忽略zip的非零退出状态。但是这种方法的问题在于,12是我要忽略的唯一退出状态。所有其他指示的实际问题将导致我想要中止make

也许我可以将一个变量设置为等于echo $?的输出,然后测试0或12,但是在.mk文件中的每个zip语句之后执行此操作似乎很笨拙。

有没有一种优雅的方式来解决这个问题?

最佳答案

错误...作为一种快速而肮脏的解决方案,您可以使用 shell 包装器:

#!/bin/ksh

zip "$@"
rc=$?

if [[ rc -eq 12 ]]; then
exit 0
fi

exit $rc

另外,您也可以在Makefile中执行几乎相同的内联,但是看起来有些难看(必须是具有重复 $符号等的shell一线 shell )。

关于unix - 由于zip退出状态为12,因此中止了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com