変数へのwget出力を取得する


14

どうすればできますか?RESULT = `wget $ URL`のように試しています

PS-また、シェルスクリプトを学習するための推奨ソースはありますか?

回答:


22

どうですか:

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

編集:ええ、それは動作します。


2
なぜ別のダッシュ-qO
アシュフェイム

2
Oどこかに出力するように-指示Oし、現在のストリームに出力するように指示します。またq、wgetに「Connecting to xxx ...」情報を含めないように指示します。
オリ

私が意図したの-q-O、出力を保存したいファイルに名前を付けるためにquietスイッチ&が使用されることです。私が読んでいたものから、すべてが引数を必要としない場合、複数のスイッチを一緒に書くことができます。だから、-qO理にかなっているが、その後、最後のダッシュは何をするのでしょうか?
アシュフェイム

1
それは-O引数です。ダウンロードの出力を書き込む場所を指示します(この場合、現在のストリームに戻ります)。
オリ

24

望ましい方法は

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

(結果変数の引用符で囲まれた展開の$()代わりに、小文字の変数名``)。

bashおよび/またはPOSIX shを使用したシェルスクリプトについては、http://mywiki.wooledge.org/BashGuideを読んでください。また、このwikiおよびhttp://wiki.bash-hackers.org/には、さらに多くの有用なリソースがあります。シェルスクリプトに関する他のほとんどのリソースはゴミであると思うので、これら2つを使用することをお勧めします。


ご意見ありがとうございます!ここで引用符のどこが悪いのか、少し説明していただけますか?
アシュフェイム

@Ashfameこれは、常に展開を引用する主な理由を説明しています。mywiki.wooledge.org
geirha

ありがとう!リソースをブックマークしました。そこから学びます。:)
Ashfame

シェルスクリプトに関する他のほとんどのリソースがゴミになるのはなぜですか?
デビッドケネディ

@Koverasどうやって知るべきですか?おそらくABSガイドを読んでから、新たな知識をさらに別のくだらないチュートリアルで世界と共有することに決めます。
ガイラ

0

WGET(WINDOWS BATCH用)には、次のようなものがあります。

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.