Как заставить cURL не показывать индикатор выполнения?

Как заставить cURL не показывать индикатор выполнения?

10.09.2011 10:30:50 Просмотров 99 Источник

Я пытаюсь использовать cURL в сценарии и заставить его не показывать индикатор выполнения.

Я пробовал варианты -s, -silent, -Sи-quiet, но ни один из них не работает.

Вот типичная команда, которую я пробовал:

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

Я получаю индикатор выполнения только при нажатии на файл, поэтому curl -s http://google.comне имеет индикатора выполнения, но curl -s http://google.com > temp.htmlделает.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar#comment8900726_7373752
-с меня работает нормально в завиток 7.21.0 (i686 в-ПК-Линукс-гну) libcurl использует/7.21.0 в OpenSSL/0.9.8 o для работы с zlib/1.2.3.4 этот пакет содержит символы отладки/1.18 и завить 7.19.5 (для i386-компания Apple-darwin9.7.0) libcurl использует/7.19.5 с zlib/1.2.3 похоже, вам нужно обновить ваш завиток
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar#comment8900748_7373752
Я пробовал его на Fedora 15 и Mac OSX 10.7.1. Кроме того, я получаю индикатор выполнения только при нажатии на файл, поэтому curl-s google.com не имеет индикатора выполнения, но curl-s google.com > темп.html делает.

Ответы - Как заставить cURL не показывать индикатор выполнения? / How do I get cURL to not show the progress bar?

Tom Zych

10.09.2011 11:00:54

Не знаю, зачем он это делает. Попробуйте -sс параметром-o, чтобы установить выходной файл вместо >.

Является ответом!
unutbu

10.09.2011 11:04:05

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

работает для curl версии 7.19.5 на Ubuntu 9.10 (нет индикатора выполнения). Но если по какой-то причине это не работает на вашей платформе, вы всегда можете перенаправить stderr в /dev / null:

curl  http://google.com 2>/dev/null > temp.html
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment8901099_7373922
Мне следовало подумать об этом. Однако он также скроет сообщения об ошибках.
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment18126969_7373922
В моем случае можно использовать /dev / null.
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment22817040_7373922
Приятно-это прекрасно работает. У меня была проблема на centOS 6.3, но не на других дистрибутивах-причудливый, но простой простой обходной путь-thx!
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment52213666_7373922
кстати, смотрите ниже ссылку о 2>/dev/null, если вы не знаете: stackoverflow.com/questions/10508843/what-is-dev-null-21
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment66320364_7373922
ИМО этот ответ не полезен, потому что он также скрывает ошибки. Я предпочитаю ответ чмака ниже.
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment90901725_7373922
Согласно man-странице для установки curl на хост ubuntu 14,-sсделает curl не "показывать индикатор прогресса или сообщения об ошибках". (Я не пробовал тестировать или читать исходный код, чтобы убедиться, что это действительно так.)
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/7373922#comment103750089_7373922
Это старый вопрос, может быть, тогда это было невозможно: по словам Гонсало ЦАО на unix.stackexchange.com/questions/196549/hide-curl-output/362760 , вы можете использовать "curl-s-S 'example.com' > / dev / null", если вам нужны только ошибки. Хотя сам я в этом не специалист...
Bill Healey

08.08.2012 10:54:56

Я обнаружил, что с curl 7.18.2 индикатор выполнения загрузки не скрыт с помощью:

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

но это с:

curl -ss http://google.com > temp.html
chmac

14.01.2014 01:01:40

В curl версии 7.22.0 на Ubuntu и 7.24.0 на OSX решение не показывать прогресс, но показывать ошибки-это использовать как -s(--silent), так и-S( --show-error).:

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

Это работает как для перенаправленного вывода > /some/file, так и для конвейерного вывода | lessи вывода непосредственно на терминал для меня.

https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/21109454#comment41647338_21109454
Очень мило! Я использовал -SСам по себе, поэтому, когда я сделал var=$(curl -S...)он все еще производил продукцию. -sSэто решили.
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/21109454#comment70571666_21109454
Для моего 7.35 using-sS устраняет индикатор выполнения, но также устраняет информацию, обычно записываемую в stdout , которая мне нужна, так как она включает имя файла, записанное на диск, а не (другой) fileid, который должен использоваться в запросе. Кажется, нет никакого способа просто победить прогрессометр в одиночку!
https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar/21109454#comment90566322_21109454
Именно так, как нужно, потому что Стандартная ошибка важна
Daniel Hajduk

26.08.2019 01:29:08

Некоторое время назад написал простой скрипт, чтобы сделать слом для поиска, например, конкретных версий установленного jdk:

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

Вы используете его так: ./script.sh https://registry.hub.docker.com/v2/repositories/library/tomcat/tags/

RLynch59

04.02.2020 09:55:11

На MacOS 10.13.6 (High Sierra) работает опция '-ss'. Это особенно полезно внутри perl, в такой команде , как curl -ss --get {someURL}, которая, честно говоря, намного проще, чем любая из оболочек LWP или HTTP, для простого получения содержимого веб-сайта или веб-страницы.

Закрыть X