我有一个文件夹,通过使用共享链接(而不是公共链接)和curl从Dropbox下载。它被下载为一个压缩文件夹。 我需要在bash shell脚本中使用unzip解压此文件夹。每当文件夹被解压缩时,我都会收到以下错误:
warning: stripped absolute path spec from /
mapname: conversion of failed
为确保这不是curl出现的问题,我直接从Dropbox下载了文件夹并再次尝试。我得到了同样的错误。所有的文件和子目录都显示出来,它们的完整性似乎没有任何问题。使用GUI解压缩这两个文件夹都没有出现错误信息。
我运行了unzip -l并注意到一个奇怪的第一个条目:
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
0 Defl:N 2 0% 01-23-14 19:38 00000000 /
我认为是这个空目录导致了问题。我的问题是,是否有任何方法可以忽略这个空目录或者抑制这些错误信息(我尝试了 -qq 没有成功)?或者,是我做错了什么/遗漏了什么吗?
我已经在 Mac OSX 10.9.1
和 Ubuntu Linux (Version Unknown)
上进行了测试,结果相同。
编辑:我还使用 jar xf
进行了测试,没有出现任何错误。运行 jar xvf
显示它创建了一个 /
目录。我仍然认为是这个空的、未命名的目录导致了问题,但我似乎无法正确地使用语法让解压程序忽略它。我只能使用 jar,但我需要能够指定输出目录。
unzip /path/to/filename.zip filename.ext file2.ext
以从档案中提取filename.ext
和file2.ext
。 - DopeGhoti2> /dev/null
来抑制警告。另外,你也可以通过-x
排除其中有问题的部分作为另一种选择。 - DopeGhoti$?
来验证退出码是否为 0。警告也可能会给出非零的退出码,但您可以查看警告的退出码并进行检查。 - DopeGhoti