首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bash: wget in a循环,奇怪的地址

bash: wget in a循环,奇怪的地址
EN

Stack Overflow用户
提问于 2015-11-23 21:52:39
回答 1查看 200关注 0票数 0

我编写了一个很小的bash脚本,它可以根据插件名列表从wordpress插件目录下载插件。它很有效,但似乎wget被称为wget的次数比用奇怪的论点所需要的次数还要多。

代码语言:javascript
运行
复制
#!/bin/bash

pluginlist="list" #plugin list, line by line

outputdir="output"

urlprefix="http://downloads.wordpress.org/plugin"

ua="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4"

if [ ! -f "$pluginlist" ]; then 

    echo List \file "$pluginlist" does not exist\!; 
    exit
fi

while read plugin_name; do

    wget -U $ua -O $outputdir/$plugin_name."zip" $urlprefix/$plugin_name."zip"

done <$pluginlist

echo \done

样本输出:

代码语言:javascript
运行
复制
--2015-11-23 22:47:45--  http://(x11;/
Resolving (x11; ((x11;)... failed: Name or service not known.
wget: unable to resolve host address ‘(x11;’
--2015-11-23 22:47:45--  http://u;/
Resolving u; (u;)... failed: Name or service not known.
wget: unable to resolve host address ‘u;’
--2015-11-23 22:47:45--  http://linux/
Resolving linux (linux)... failed: Name or service not known.
wget: unable to resolve host address ‘linux’
--2015-11-23 22:47:45--  http://i686;/
Resolving i686; (i686;)... failed: Name or service not known.
wget: unable to resolve host address ‘i686;’
--2015-11-23 22:47:45--  http://en-us;/
Resolving en-us; (en-us;)... failed: Name or service not known.
wget: unable to resolve host address ‘en-us;’
--2015-11-23 22:47:51--  ftp://rv/1.8.1.6)
           => ‘output/add-meta-tags.zip’
Resolving rv (rv)... failed: Name or service not known.
wget: unable to resolve host address ‘rv’
--2015-11-23 22:47:56--  http://gecko/20070802
Resolving gecko (gecko)... failed: Name or service not known.
wget: unable to resolve host address ‘gecko’
--2015-11-23 22:47:56--  http://seamonkey/1.1.4
Resolving seamonkey (seamonkey)... failed: Name or service not known.
wget: unable to resolve host address ‘seamonkey’
--2015-11-23 22:48:06--  http://downloads.wordpress.org/plugin/add-meta-tags.zip
Resolving downloads.wordpress.org (downloads.wordpress.org)... 66.155.40.188, 66.155.40.186, 66.155.40.187, ...
Connecting to downloads.wordpress.org (downloads.wordpress.org)|66.155.40.188|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://downloads.wordpress.org/plugin/add-meta-tags.zip [following]
--2015-11-23 22:48:07--  https://downloads.wordpress.org/plugin/add-meta-tags.zip
Connecting to downloads.wordpress.org (downloads.wordpress.org)|66.155.40.188|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 271770 (265K) [application/zip]
Saving to: ‘output/add-meta-tags.zip’

output/add-meta-tag 100%[=====================>] 265.40K   182KB/s   in 1.5s   

2015-11-23 22:48:09 (182 KB/s) - ‘output/add-meta-tags.zip’ saved [271770/271770]

FINISHED --2015-11-23 22:48:09--
Total wall clock time: 25s
Downloaded: 1 files, 265K in 1.5s (182 KB/s)

所以在得到正确的地址之前,它会得到很多奇怪的地址。我不知道为什么会这样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-23 21:55:37

您需要引用您的用户代理字符串:

代码语言:javascript
运行
复制
wget -U "$ua" -O $outputdir/$plugin_name."zip" $urlprefix/$plugin_name."zip"

否则,bash将在空间上将其拆分,并将其作为多个args传递给wget ..。它正试图将其视为URL。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33881402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档