2017-03-22 1 views
0

Ich habe das folgende Problem mit meinem Code:wget endet nicht

Nachdem die Downloads alle abgeschlossen sind, wird das Skript nicht beendet. Es scheint auf weitere URLs zu warten.


Mein Code:

#!/bin/bash 

cd "$1" 
test=$(wget -qO- "$3" | grep --line-buffered "tarball_url" | cut -d '"' -f4) 

echo test: 
echo $test 
echo ============== 

wget -nd -N -q --trust-server-names --content-disposition -i- ${test} 

Ein Beispiel für $test:

https://api.github.com/repos/matrixssl/matrixssl/tarball/3-9-1-open https://api.github.com/repos/matrixssl/matrixssl/tarball/3-9-0-open 
+0

'-i-' bedeutet, die Liste der URLs von der Standardeingabe zu lesen. Es wartet also darauf, dass Sie die URLs eingeben. – Barmar

+0

Ja, und wie ich schrieb, funktioniert das, aber wie kann ich es beenden? '$ test' enthält die URLs. –

Antwort

1

-i bedeutet die Liste der URLs aus einer Datei zu erhalten, und - anstelle der Dateieinrichtung mit um sie von der Standardeingabe zu bekommen. Es wartet also darauf, dass Sie die URLs eingeben.

Wenn $test die URLs enthält, müssen Sie nicht -i verwenden, die Liste nur die URLs in der Befehlszeile:

wget -nd -N -q --trust-server-names --content-disposition $test 
+0

Raten Sie, ich habe die Dokumente falsch verstanden, ich dachte, man könnte nur mehrere URLs in Kombination mit '-i' verarbeiten –