it-swarm.com.de

Wie kann ich erreichen, dass cURL den Fortschrittsbalken nicht anzeigt?

Ich versuche, cURL in einem Skript zu verwenden und es dazu zu bringen, dass nicht den Fortschrittsbalken anzeigt.

Ich habe die Optionen -s, -silent, -S und -quiet ausprobiert, aber keine von ihnen funktioniert.

Hier ist ein typischer Befehl, den ich ausprobiert habe:

curl -s http://google.com > temp.html

Ich erhalte den Fortschrittsbalken nur, wenn ich ihn in eine Datei verschiebe, also hat curl -s http://google.com keinen Fortschrittsbalken, aber curl -s http://google.com > temp.html.

509
adammenges
curl -s http://google.com > temp.html

funktioniert für Curl-Version 7.19.5 unter Ubuntu 9.10 (kein Fortschrittsbalken). Wenn dies jedoch aus irgendeinem Grund auf Ihrer Plattform nicht funktioniert, können Sie stderr immer nach/dev/null umleiten:

curl  http://google.com 2>/dev/null > temp.html
504
unutbu

In der Curl-Version 7.22.0 unter Ubuntu und 7.24.0 unter OSX besteht die Lösung für Fortschritt nicht anzeigen aber für Fehler anzeigen darin, beide -s (--silent) und -S (--show-error) wie folgt:

curl -sS http://google.com > temp.html

Dies funktioniert sowohl für die umgeleitete Ausgabe > /some/file, die weitergeleitete Ausgabe | less als auch für die direkte Ausgabe an das Terminal.

490
chmac

Ich habe festgestellt, dass mit curl 7.18.2 die Download-Fortschrittsanzeige nicht ausgeblendet wird:

curl -s http://google.com > temp.html

aber es ist mit:

curl -ss http://google.com > temp.html
44
Bill Healey

Ich weiß nicht, warum das so ist. Versuchen Sie -s mit der Option -o, um die Ausgabedatei anstelle von > festzulegen.

6
Tom Zych

Vor einiger Zeit haben wir ein einfaches Skript geschrieben, um die Suche nach bestimmten installierten jdk-Versionen zu starten:

#!/bin/bash
REPO_TAG_URL=$1

SEARCH=`curl -s $REPO_TAG_URL`
NEXT_PAGE=`echo $SEARCH | jq -r .next`

echo $SEARCH | jq '.results[].name'

while [[ $NEXT_PAGE != 'null' ]]; do
    SEARCH=`curl -s $NEXT_PAGE`
    NEXT_PAGE=`echo $SEARCH | jq -r .next`
    echo $SEARCH | jq '.results[].name'
done

echo "Thats all folks"

Du verwendest es so: ./script.sh https://registry.hub.docker.com/v2/repositories/library/Tomcat/tags/

0
Daniel Hajduk