获取wget输出到变量


14

我该怎么做?我正在尝试这样RESULT =`wget $ URL`

PS-还有推荐的学习shell脚本的资源吗?

Answers:


22

怎么样:

RESULT="`wget -qO- http://example.com`"
echo $RESULT

编辑:是的,这可行。


2
为什么之后又破破烂烂-qO
Ashfame 2011年

2
O告诉它输出到某个地方,-告诉O它输出到当前流。并q告诉wget不要包含其任何“ Connecting to xxx ...”信息。
奥利

我的意思是,何时-q使用安静开关&-O来为文件提供名称,我们希望将其保存在此处。根据我一直在阅读的内容,如果所有开关都不需要参数,我们可以一起编写多个开关。所以-qO说得通,但是最后一个破折号是做什么的呢?
Ashfame 2011年

1
-O是争论。它告诉它将下载的输出写入何处(在这种情况下:返回当前流)。
奥利(Oli)

24

首选方式是

result=$(wget -qO- http://example.com)
echo "$result"

(小写的变量名,$()而不是``结果变量的引号和引号)。

对于使用bash和/或POSIX sh的shell脚本,请阅读http://mywiki.wooledge.org/BashGuide。在该Wiki和http://wiki.bash-hackers.org/上,还有更多有用的资源。恐怕大多数其他有关Shell脚本的资源都是垃圾,因此最好坚持使用这两个资源。


感谢您的输入!您能解释一下这里的报价有什么问题吗?
Ashfame 2011年

@Ashfame这解释了为什么您总是要引用扩展的主要原因:mywiki.wooledge.org/Arguments
geirha 2011年

谢谢!我已经为资源添加了书签。我将从那里学习。:)
Ashfame 2011年

为什么大多数其他资源都在shell脚本编写垃圾上?
Big McLargeHuge 2015年

@Koveras我怎么知道?人们可能会阅读ABS指南,然后决定通过另一个糟糕的教程与世界分享他们的新知识。
盖尔哈,2015年

0

在WGET(对于WINDOWS BATCH)中,如下所示:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
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.