web-dev-qa-db-fra.com

Comment obtenir cURL pour ne pas afficher la barre de progression?

J'essaie d'utiliser cURL dans un script et de le faire et non affiche la barre de progression.

J'ai essayé les options -s, -silent, -S et -quiet, mais aucune d'entre elles ne fonctionne.

Voici une commande typique que j'ai essayée:

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

Je ne reçois que la barre de progression lorsque je l'insère dans un fichier, donc curl -s http://google.com n'a pas de barre de progression, mais curl -s http://google.com > temp.html.

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

fonctionne pour curl version 7.19.5 sur Ubuntu 9.10 (aucune barre de progression). Mais si pour une raison quelconque cela ne fonctionne pas sur votre plate-forme, vous pouvez toujours rediriger stderr vers/dev/null:

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

Dans Curl version 7.22.0 sur Ubuntu et 7.24.0 sur OSX, la solution à pas afficher la progression mais à afficher les erreurs consiste à utiliser à la fois -s (--silent) et -S (--show-error) comme ceci:

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

Cela fonctionne à la fois pour la sortie redirigée > /some/file, la sortie canalisée | less et la sortie directe vers le terminal pour moi.

490
chmac

J'ai trouvé qu'avec curl 7.18.2 la barre de progression du téléchargement n'est pas cachée avec:

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

mais c'est avec:

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

Je ne sais pas pourquoi il fait ça. Essayez -s avec l’option -o pour définir le fichier de sortie au lieu de >.

6
Tom Zych

Il y a quelque temps, nous avons écrit un script simple pour effectuer la mise au rebut afin de rechercher par exemple des versions spécifiques de jdk installées:

#!/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"

Vous l'utilisez comme ceci: ./script.sh https://registry.hub.docker.com/v2/repositories/library/Tomcat/tags/

0
Daniel Hajduk