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