Sobre curl
ocultar o Medidor de Progresso , encontrei muitas respostas através das filiais do Stack Exchange mencionando -s
e -S
ou simplesmente -sS
onde
-s
oculta o medidor de progresso-S
só mostra mensagens de erro, mesmo quando-s
é usado
Por isso é sugerido o trabalho como-sS
Em alguns posts foram mencionados como uma novidade curl
sobre a --no-progress-meter
opção, como:
- Como faço para que o cURL não mostre a barra de progresso?
- Como suprimir o medidor de progresso do cUrl ao redirecionar a saída?
Eu liman
--no-progress-meter
Option to switch off the progress meter output without muting or otherwise affecting warning and informational messages like --silent does.
Note that this is the negated option name documented. You can thus use --progress-meter to enable the progress meter again.
Example:
curl --no-progress-meter -o store https://example.com
See also -v, --verbose and -s, --silent. Added in 7.67.0.
e curl ootw: –silent (escrito por um importante committer de curl)
Mas infelizmente não está claro para mim como --no-progress-meter
funciona. Eu pensei à primeira vista que --no-progress-meter
é equivalente a -sS
mas - não é indicado explicitamente em ambos os recursos - Portanto, minha suposição está incorreta.
Fiz alguns experimentos:
Sem erro
#1
curl https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -O
# Shows
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8472k 100 8472k 0 0 3500k 0 0:00:02 0:00:02 --:--:-- 3501k
#2
curl https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -O -s
# Shows Nothing
#3
curl https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -O -sS
# Shows Nothing
#4
curl https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -O --no-progress-meter
# Shows Nothing
Praticamente não é clara a diferença entre -sS
e --no-progress-meter
porque não há erro.
Com erro
Erro porque o URL
está incorreto, é baseado apenas na https
peça
#1
curl https -O
# Shows
curl: Remote file name has no length!
curl: (23) Failed writing received data to disk/application
#2
curl https -O -s
# Shows nothing
#3
curl https -O -sS
# Shows
curl: (23) Failed writing received data to disk/application
#4
curl https -O --no-progress-meter
# Shows
curl: Remote file name has no length!
curl: (23) Failed writing received data to disk/application
Observe #1
e #2
são os mesmos
Pergunta
- Quando usar
-no-progress-meter
mais-sS
?
Se você puder compartilhar alguns exemplos reais para entender a diferença, agradeço.
A página man diz:
Então, essencialmente, existem quatro combinações possíveis, em ordem crescente de silêncio:
sem opções: exibir medidor de progresso, mensagens de aviso e mensagens de erro
com
--no-progress-meter
: exibe mensagens de aviso e mensagens de erro, mas não o medidor de progresso. Esta opção fornece informações se algo der errado, mas é silenciosa se não houver problemas.com
-sS
: exibe apenas mensagens de erro, mas não o medidor de progresso nem mensagens de aviso. Bom se você estiver escrevendo um script e souber que algo pode causar mensagens de aviso inofensivas nessa situação específica, mas ainda deseja mostrar mensagens de erro se algo inesperado acontecer.com
-s
: fique completamente silencioso, sem mensagens.