Я пытаюсь использовать cURL в script и получить его не, показывая индикатор выполнения.
Я пробовал опции -s
, -silent
, -s
и -quiet
, но никто из них не работает.
Вот типичная команда, которую я пробовал:
curl -s http://google.com > temp.html
Я только получаю индикатор выполнения при нажатии его в файл, поэтому curl -s http://google.com
не имеет индикатор выполнения, но curl -s http://google.com > temp.html
делает.
curl -s http://google.com > temp.html
работает для завивки версии 7.19.5 на Ubuntu 9.10 (нет индикатора выполнения). Но если по какой-то причине это не работает на вашей платформе, вы всегда можете перенаправить stderr в /dev/null:
curl http://google.com 2>/dev/null > temp.html
В curl версии 7.22.0 в Ubuntu и 7.24.0 в OSX решение не показывать прогресс, а отображать ошибки состоит в том, чтобы использовать как -s
(--silent
), так и -s
(--show-error
) вот так:
curl -sS http://google.com > temp.html
Это работает как для перенаправленного вывода >/some/file
, так и для piped output | less
| less
и выводит прямо в терминал для меня.
`
для кодовых блоков ; Вы должны сделать отступ на 4 пробела.
-S
по себе, поэтому, когда я делал var=$(curl -S...)
он все еще производил вывод. -sS
решил , что.
Я обнаружил, что с curl 7.18.2 индикатор выполнения загрузки не скрывается:
curl -s http://google.com > temp.html
но это с помощью:
curl -ss http://google.com > temp.html
Это работает для curl 7.22.0 на Ubuntu 12.04:
curl -s http://google.com > temp.html
На самом деле он также работает с любым количеством 's'. Вы можете написать:
curl -sssssssssss http://google.com > temp.html
и эффект будет таким же =)
Не знаю, почему это так. Попробуйте -s
с опцией -o
установить выходной файл вместо >
.
Я загрузил с -s
& -o
чтобы установить вывод файла на Mac OSX 10.6.8, и не вижу индикатор выполнения.
Не имеет никакого значения для скорости загрузки.
Подавление индикатора прогресса кажется только косметическим.
curl -s http://google.com
молчит за меня здесь. На какой версии curl и Linux вы работаете?