2

在我的 Unix 服务器上,我执行此命令以通过 unix shell 从 folderc 复制所有内容。

wget -r -nH --accept=ismv,ismc,ism,jpg --cut-dirs=5 --level=0 --directory-prefix="/root/sstest"  -o /root/sstest2.log http://site.com/foldera/folderb/folderc/

folderc 中的所有内容实际上都复制到 /root/sstest 。

wget复制后不退出并带我回到命令提示符。

什么可能导致这种行为?

4

3 回答 3

13

我遇到了同样的问题,我只是在 URL 的前面和结尾添加了单引号。这一步解决了我的这个问题。

于 2015-07-02T08:01:08.070 回答
2

HTTP 服务器可能错误地传达了响应的长度,因此 Wget 一直在等待更多数据。这可能是由于您在交互式 Web 浏览器中没有注意到的 Wget 或服务器(或服务器上运行的软件组件)中的错误。

要对此进行调试,请确保您运行的是最新版本的 Wget。如果问题仍然存在,请使用该-d标志收集调试输出,并将有关不当行为的报告发送给 Wget 开发人员bug-wget@gnu.org。在发送报告之前,请务必从报告中删除敏感数据,例如密码或内部主机名。

于 2012-11-07T20:54:15.460 回答
1

使用 wget 从 Dropbox 下载文件时,我观察到类似的问题:

  • 下载完成(文件已​​完成)

  • wget(或 curl,取决于我用于下载的内容)在文件完成后不再显示在正在运行的进程中

  • wget(或 curl)不返回命令提示符

  • 只需按 Enter 即可“强制”返回命令提示符,我不必实际杀死任何进程即可返回命令提示符,只是在我再按一次 Enter 之前卡住了。

问题不是 wget 特有的,当我尝试使用 curl 从同一位置下载同一文件时也会发生此问题。如果我从多个 unix Web 服务器下载相同的文件,无论是使用 wget 还是使用 curl,都不会出现此问题。

我曾尝试使用超时(有足够长的时间)来强制 wget/curl 返回命令提示符,但在超时杀死它们后它们甚至不会返回命令提示符。

于 2014-06-25T12:34:04.320 回答