Holen Sie sich wget Ausgabe auf eine Variable

14

Wie kann ich es tun? Ich versuche es so. RESULT = `wget $ URL`

PS - Gibt es auch empfohlene Quellen für das Erlernen von Shell-Skripten?

Ashfame
quelle

Antworten:

22

Wie wäre es mit:

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

Edit: Ja, das funktioniert.

Oli
quelle
2
Warum noch ein Schuss danach -qO?
Ashfame
2
Oweist es an, irgendwo auszugeben, -weist es Oan, es an den aktuellen Stream auszugeben. Und qweist wget an, keine der "Connecting to xxx ..." - Informationen anzugeben.
Oli
Was ich damit meinte war, dass wann -qder leise Schalter & verwendet -Owird, um der Datei den Namen zu geben, in der die Ausgabe gespeichert werden soll. Nach dem, was ich gelesen habe, können wir mehrere Schalter zusammen schreiben, wenn für alle keine Argumente erforderlich sind. Also -qOmacht es Sinn, aber was macht der letzte Strich dann?
Ashfame
1
Es ist -Odas Argument. Hier wird angegeben, wo die Ausgabe des Downloads geschrieben werden soll (in diesem Fall: zurück zum aktuellen Stream).
Oli
24

Der bevorzugte Weg wäre

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

(Variablenname in Kleinbuchstaben $()anstelle einer in ``Anführungszeichen gesetzten Erweiterung der Ergebnisvariablen).

Für Shell-Skripte mit bash und / oder POSIX sh ist http://mywiki.wooledge.org/BashGuide das zu lesende Handbuch. In diesem Wiki und auf http://wiki.bash-hackers.org/ gibt es viel mehr nützliche Ressourcen . Ich fürchte, die meisten anderen Ressourcen für Shell-Skripte sind Müll, also ist es am besten, sich an diese beiden zu halten.

geirha
quelle
Danke für deinen Beitrag! Können Sie uns ein bisschen erklären, was hier mit Zitaten nicht stimmt?
Ashfame
@Ashfame Dies erklärt den Hauptgrund, warum Sie Erweiterungen immer zitieren sollten: mywiki.wooledge.org/Arguments
geirha
Vielen Dank! Ich habe die Ressourcen mit einem Lesezeichen versehen. Ich werde von dort lernen. :)
Ashfame
Warum befinden sich die meisten anderen Ressourcen im Shell-Skript-Müll?
David Kennedy
@Koveras woher soll ich das wissen? Die Leute lesen wahrscheinlich den ABS-Leitfaden und beschließen dann, ihr neu gewonnenes Wissen mit der Welt in einem weiteren beschissenen Tutorial zu teilen.
Geirha
0

In WGET (für WINDOWS BATCH) sieht das so aus:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
T.Todua
quelle