Unix 正在中止,因为zip以状态12退出
Unix 正在中止,因为zip以状态12退出,unix,makefile,zip,Unix,Makefile,Zip,make在尝试zip-u某些文件后,正在停止并报告错误代码12 错误代码12实际上是zip的退出状态,表示它“无事可做” 我不明白为什么这是一个非零退出状态。让zip安静地什么都不做不是更合适吗?如果zip没事干的话,这看起来并不是一个真正的问题 我可以抑制它:通过调用-zip-u告诉make忽略zip的非零退出状态。但这种方法的问题在于,12是我唯一想忽略的退出状态。所有其他的都指出了实际的问题,这些问题会导致我想中止make 也许我可以将一个变量设置为等于echo$?的输出,然后测试0或12
make
在尝试zip-u
某些文件后,正在停止并报告错误代码12
错误代码12实际上是zip的退出状态,表示它“无事可做”
我不明白为什么这是一个非零退出状态。让zip安静地什么都不做不是更合适吗?如果zip没事干的话,这看起来并不是一个真正的问题
我可以抑制它:通过调用-zip-u
告诉make
忽略zip的非零退出状态。但这种方法的问题在于,12是我唯一想忽略的退出状态。所有其他的都指出了实际的问题,这些问题会导致我想中止make
也许我可以将一个变量设置为等于echo$?
的输出,然后测试0或12,但在.mk文件中的每一个zip
语句之后,这样做似乎很困难
有没有优雅的方法来处理这个问题?呃。。。作为一种快速而肮脏的解决方案,您可以使用外壳包装器:
#!/bin/ksh
zip "$@"
rc=$?
if [[ rc -eq 12 ]]; then
exit 0
fi
exit $rc
或者,您可以在Makefile中执行几乎相同的内联操作,但它看起来有点难看(必须是一个带有重复的
$
符号等的shell一行)。没有比您想象的更优雅的了。您可以完全忽略错误,或者检查您认为不是真正错误的特定错误。