如何解压缩忽略未找到的文件?
当我运行unzip myArchive.zip config/*
且config/*
与归档中的任何文件都不匹配时,我得到了返回码11。
是否可以让unzip
尝试解压缩文件,如果它们存在而没有失败,如果不存在?
如果是这样,怎么样?
我没有在解压缩手册中找到任何选项将它变成"如果你失败就闭嘴,兄弟!"模式。
当然,我可以做unzip myArchive.zip config/* | true
这样的事情,但对我来说看起来真的很难看。
感谢您的帮助
编辑:它已被确定为dupplicate。它可能是。另一个答案非常有用,但是让命令忽略所有错误。我期望一个选项/技巧,只是简单地跳过未发现的文件,并让命令在其他错误情况下保持失败(例如,如果存档不存在)。答案 0 :(得分:2)
由于此退出状态是针对此单个错误案例保留的,您可以:
unzip myArchive.zip config/* || \
( e=$? && if [ $e -ne 11 ]; then exit $e; fi )
答案 1 :(得分:-1)
删除错误消息,错误退出代码和任何消息:
unzip -qq myArchive.zip config/* 2> /dev/null || true