Bash buggt???



  • Hallo,

    ich wollt mir grad ein Video schrittweise mit curl herunterladen. Also downloaden, stoppen, wieder downloaden, weil die Bandbreite nach ein paar Sekunden getrimmt wird.

    Ich schreib ne Funktion die sich nach 3 Sekunden selbst abschießt. Diese durchlaufe ich mit einer Schleife so lange, bis der Film heruntergeladen wurde.

    Und das hat zur Hälfte geklappt (hab bei curl mit -# zugekuckt) und auf einmal plopp, macht Bash aus "$1" die "$2" und umgekehrt und ich hab scheißkeine Ahnung warum.

    [spiri@somebody ~]$ function f { curl -L#o "$1" --url "$2" -C $(wc -c "$1") & pid=$! && sleep 3 && kill -3 $pid && return -1 || return 0; }
    [spiri@somebody ~]$ while ! f "lastKnightsGerman.mp4" "http://cdn2.streamcloud.eu:8080/63v75qy4vooax3ptx32ifu57vkdtnk6bew3xvr7surmc2rtyg5vpsin4si/video.mp4"; do sleep .5; done
    [1] 14723
    ################################################################################################################################ 100.0%
    curl: (6) Could not resolve host: lastKnightsGerman.mp4
    [1]+  Exit 6                  curl -L#o "$1" --url "$2" -C $(wc -c "$1")
    bash: kill: (14723) - No such process
    [spiri@somebody ~]$
    

    Bin ich müde???



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum Linux/Unix in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Der Download scheint fertig (100%) und $(wc -c "$1") gibt nicht nur die Größe, sondern auch den Dateinamen aus. Daher wird nach Abschluss der ersten URL mit der zweiten weitergemacht, nur dass es sich dabei eben nicht um eine URL handelt sondern um den Dateinamen den wc ausgibt.



  • Wenn man mit -C Partial Content anfragt und gleichzeitig ne Progressbar spawnen wird, so fängt curl bei mir immer mit einer vollen Anzeige an, die sich dann bei Beginn des Downloads anpasst. Geschieht in der Zwischenzeit ein Fehler, bricht curl einfach ab und die restliche Bildschirmausgabe ist dann die gespawnte 100%-Progressbar plus die Fehlermeldung.

    Aber ja, wc -c < f ist was anderes als wc -c f . Das wirds wohl gewesen sein.

    Danke.


Anmelden zum Antworten