it-swarm.it

Come posso ottenere cURL per non mostrare la barra di avanzamento?

Sto cercando di usare cURL in uno script e portarlo a not mostra la barra di avanzamento.

Ho provato le opzioni -s, -silent, -S e -quiet, ma nessuna funziona.

Ecco un comando tipico che ho provato:

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

Ricevo la barra di avanzamento solo quando la sposto su un file, quindi curl -s http://google.com non ha una barra di avanzamento, ma curl -s http://google.com > temp.html lo fa.

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

funziona per arricciare la versione 7.19.5 su Ubuntu 9.10 (nessuna barra di avanzamento). Ma se per qualche motivo non funziona sulla tua piattaforma, puoi sempre reindirizzare stderr a/dev/null:

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

Nella versione arricciata 7.22.0 su Ubuntu e 7.24.0 su OSX la soluzione per non mostrare progresso ma per mostra errori deve utilizzare sia -s (--silent) che -S (--show-error) in questo modo:

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

Questo funziona sia per l'output reindirizzato > /some/file, per l'output in pipe | less che per l'output direttamente sul terminale.

465
chmac

Ho trovato che con curl 7.18.2 la barra di avanzamento del download non è nascosta con:

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

ma è con:

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

Non sono sicuro del motivo per cui lo sta facendo. Prova -s con l'opzione -o per impostare il file di output anziché >.

6
Tom Zych