解压缩使用^ M创建的目标目录时


0

我正在尝试使用Shell脚本文件(.sh)解压缩文件夹。它正在解压缩zip文件夹中的文件,但是我创建的目标目录以^ M结尾,

我在.sh文件中使用此命令

unzip /tmp/mram/zip/ApNonProjectExpVO.zip -d /tmp/mram/zip/

并在腻子中显示日志为

Test.sh

Tue Jan 10 23:21:21 CST 2017

Archive:  /tmp/mram/zip/ApNonProjectExpVO.zip
   creating: /tmp/mram/zip/^M/ApNonProjectExpVO/
  inflating: /tmp/mram/zip/^M/ApNonProjectExpVO/ApNonProjectExpVO.xml

1
听起来问题出在zip创建时,而不是提取时。
朱莉·佩勒捷

3
zip文件中可能有一个带有该名称的文件夹。

在Windows中使用Winzip / 7zip解压缩时是否具有相同的输出?
Zumo de Vidrio

1
@ JuliePelletier,Dan:不,CR显然来自unzip脚本中的这一行。
吉尔斯

@吉尔斯:很好!
朱莉·佩勒捷

Answers:


1

-d选项的参数告诉unzip将文件放置在哪个目录中。由于您告诉unzip将文件放在一个名为/tmp/mram/zip/^M^M回车)的目录中,因此它确实按照您的指示执行了操作。

通过删除行尾的所有CR字符来修复脚本,因为它们可能会引起其他问题。在Unix中,CR是普通字符,而不是Windows中的行尾标记的一部分。

在Windows下编辑Shell脚本时,请始终记住将编辑器配置为使用Unix行尾(仅LF)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.