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?

Antworten:


22

Wie wäre es mit:

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

Edit: Ja, das funktioniert.


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.