カール:「-sS」の代わりに「--no-progress-meter」をいつ使用する必要がありますか?

カール:「-sS」の代わりに「--no-progress-meter」をいつ使用する必要がありますか?

curl隠される予定スケジュール私は多くの答えを見つけました。スタック交換-sブランチは、そして、それが-Sどこ-sSにあるかを言及します。

  • -s進行状況バーを隠す
  • -S-s使用時にもエラーメッセージのみが表示されます。

したがって、タスクを実行することをお勧めします。-sS

curl一部の投稿では、このオプションには次--no-progress-meterの新しい追加事項が記載されています。

私は読んだman

--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.

そしてカルルート: – 沈黙(重要なカールコミッタが作成)

しかし残念ながら、私はそれがどのように機能するのかわかりません--no-progress-meter。一見すると、これが次のよう--no-progress-meterになると思います-sS。しかし、両方のリソースは明示的に言及されていないので、私の仮定は正しくありません。

私はいくつかの実験をしました:

エラーなし

#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

エラーがないため、-sSとの違いが何なのか、実際には明確ではありません。--no-progress-meter

間違った

間違い間違った部分があり、その部分だけにURL基づいています。https

#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

観察し#1#2同じ

質問

  • いつ-no-progress-meter使い果たされますか-sS

違いを理解するために実際のケースを共有していただきありがとうございます。

答え1

マニュアルページには次のように記載されています。

-s, --silent

         Silent or quiet mode. Don't show progress meter  or  error  mes‐
         sages.   Makes  Curl mute. It will still output the data you ask
         for, potentially even to the terminal/stdout unless you redirect
         it.

         Use  -S,  --show-error  in  addition  to  this option to disable
         progress meter but still show error messages.

したがって、本質的に静かさを高める順序で4つの可能な組み合わせがあります。

  • オプションなし:進行状況インジケータ、警告メッセージ、エラーメッセージの表示

  • with --no-progress-meter:警告とエラーメッセージを表示しますが、進行状況インジケータは表示しません。このオプションは、問題が発生した場合に情報を提供しますが、問題がなければ情報を表示しません。

  • with -sS:エラーメッセージのみが表示され、進行状況インジケータや警告メッセージは表示されません。これは、スクリプトを作成し、特定の状況で無害な警告メッセージが発生する可能性があることを知っていますが、予期しないことが発生した場合でもエラーメッセージを表示したい場合に便利です。

  • with -s:完全な沈黙、ニュースなし。

関連情報