Показывать индикатор выполнения в curl без показа содержимого ответа - PullRequest
1 голос
/ 24 февраля 2020

Есть ли способ в Bash скрыть тело ответа на запрос curl GET, пока отображается индикатор выполнения?

--progress-bar Показывает минимизированную версию панели по умолчанию, но все еще выводит все.

Аналогично с --silent, который скрывает все, что бесполезно для объема запросов.

Мой текущий код:

for i in $(cat scripts/urls.txt); do
    file="scripts/output.txt"
    content=$(curl --location --request GET $i -H 'Authorization: ...')
    "$content" >> $file
    cat $file
    sleep 5
done

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Индикатор выполнения отправляется в stderr. Ответ отправляется на стандартный вывод. Чтобы перенаправить и добавить ответ в файл, вы можете использовать оператор >>:

while read -r i; do
    file="scripts/output.txt"
    curl --location --request GET $i -H 'Authorization: ...' >> $file
    sleep 5
done < scripts/urls.txt
0 голосов
/ 24 февраля 2020
$ curl -X GET http://www.example.com > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0  22445      0 --:--:-- --:--:-- --:--:-- 22836
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...