Dropbox可以通过curl(EX :)轻松地以编程方式下载单个文件curl -O https://dl.dropboxusercontent.com/s/file.ext.对于文件夹(常规目录文件夹,而不是压缩)来说,这有点棘手.文件夹的共享链接(而不是文件)不直接链接到压缩文件夹(Dropbox会在下载之前自动压缩文件夹).看起来您可以添加?dl=1到链接的末尾,因为这将直接在浏览器中开始下载.但是,这指向一个中间html文档,它重定向到实际的zip文件夹,似乎不适用于curl.无论如何使用curl通过共享链接下载文件夹?我意识到最好的解决方案是使用Dropbox api,但对于这个项目,保持尽可能简单是很重要的.此外,必须将解决方案合并到bash shell脚本中.
我有一个文件夹,我使用共享链接(不是公共链接)和卷曲从Dropbox下载.它作为压缩文件夹下载.我需要在bash shell脚本中使用unzip解压缩此文件夹.每当文件夹解压缩时,我都会收到以下错误:
warning: stripped absolute path spec from /
mapname: conversion of failed
Run Code Online (Sandbox Code Playgroud)
为了确保卷曲不是一个奇怪的问题,我直接从Dropbox下载了文件夹并再次尝试.我得到了同样的错误.显示所有文件和子目录,并且它们的完整性似乎没有任何问题.使用GUI解压缩任一文件夹不会导致错误消息.
我运行unzip -l并注意到一个奇怪的第一个条目:
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
0 Defl:N 2 0% 01-23-14 19:38 00000000 /
Run Code Online (Sandbox Code Playgroud)
我相信这是一个导致问题的空目录.我的问题是,有没有办法忽略这个空目录或抑制错误消息(我试过-qq没有运气)?或者,有什么东西我做错了/缺少?
我已经测试了这个Mac OSX 10.9.1并且Ubuntu Linux (Version Unknown)得到了相同的结果.
编辑:我也测试了它,jar xf它工作正常,没有任何错误.跑步jar xvf表明它created: /.我仍然认为这是一个空的,未命名的目录导致问题,但我似乎无法正确使用我的语法,因此解压缩将忽略它.我只想使用jar,但我需要能够指定输出目录.