Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 解压缩将返回退出代码1,即使提取成功_Linux_Unzip_Exit Code - Fatal编程技术网

Linux 解压缩将返回退出代码1,即使提取成功

Linux 解压缩将返回退出代码1,即使提取成功,linux,unzip,exit-code,Linux,Unzip,Exit Code,我有一个压缩在windows服务器上的zip文件,它具有windows目录结构 我正在尝试使用以下命令在ubuntu服务器上解压缩文件: /tmp/temp » unzip -d /tmp/temp/temp backup.zip 解压工作正常,目录结构自动转换为基于Linux的结构。但是由于某种原因,extract命令的退出代码是1,这将打乱我的Jenkins工作,这将不再继续 inflating: /tmp/temp/temp/fs/site/wwwroot/vendor-a234

我有一个压缩在windows服务器上的zip文件,它具有windows目录结构

我正在尝试使用以下命令在ubuntu服务器上解压缩文件:

/tmp/temp » unzip -d /tmp/temp/temp backup.zip  
解压工作正常,目录结构自动转换为基于Linux的结构。但是由于某种原因,extract命令的退出代码是1,这将打乱我的Jenkins工作,这将不再继续

  inflating: /tmp/temp/temp/fs/site/wwwroot/vendor-a2341eb904.js  
  inflating: /tmp/temp/temp/fs/site/wwwroot/vendor-fc433e18b6.css  
  inflating: /tmp/temp/temp/fs/site/wwwroot/web.config  
  inflating: /tmp/temp/temp/meta     
------------------------------------------------------------
/tmp/temp » echo $?                                                                                                                                                
1
我甚至测试了归档文件,将提取文件的CRC与归档文件中的CRC进行比较,结果似乎是正确的:

    testing: fs\site\wwwroot\vendor-fc433e18b6.css   OK
    testing: fs\site\wwwroot\web.config   OK
    testing: meta                     OK
No errors detected in compressed data of backup.zip.
------------------------------------------------------------
/tmp/temp » echo $?                                                                                                                                               
0
知道解压命令中返回代码1的原因吗


顺便说一句:我还在jenkins的工作中尝试设置+e,以忽略退出代码,但没有任何帮助。

如果跳过了任何文件,请使用
-v
选项检查

解压页面声明返回值
1

遇到一个或多个警告错误,但处理已完成 无论如何都成功了。这包括ZipFile,其中包含一个或多个文件 由于不支持的压缩方法或加密,已跳过 未知密码


如果您面临此问题,并且它导致shell脚本突然结束而没有出现错误,请检查shell脚本文件顶部是否有
set-e
命令

如果任何执行行抛出任何错误,Set-e将结束脚本


在许多情况下,即使存在非严重警告且解压成功,也会使用错误代码解压退出。

解压代码的主要目的是能够在执行错误检查的脚本或外部程序中使用这些实用程序。我不认为这与编程和开发无关。