💡

curlの-sオプションについて

2025/03/01に公開
1

先に結論から

curlに-sオプションをつけると以下が実現できる
1. 進捗メーターの非表示
通常、curl はデータ取得中に進捗状況を表示するが、-s を使うとこの表示が無効になる。

2. エラーメッセージの非表示
エラー発生時のメッセージも表示されなくなる。ただし、エラーの内容が必要な場合は、-s と併せて -S(大文字のS)オプションを使うことで、エラーは表示しつつ進捗表示だけを抑制することができる。


進捗メーターの非表示

  • 通常、curl はデータ取得中に進捗状況を表示する
$ curl -O https://speed.hetzner.de/100MB.bin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
  • -sオプションをつけると、進捗状況が表示されなくなる
$ curl -s https://speed.hetzner.de/100MB.bin
$

エラーメッセージの非表示

  • 通常、curlはデータ取得時にエラーが発生した場合はメッセージを表示する
$ curl http://fumeinaurl.com/fumeinaurl/
curl: (6) Could not resolve host: fumeinaurl.com
  • -sオプションをつけると、エラーメッセージが表示されなくなる
$ curl -s http://fumeinaurl.com/fumeinaurl/
$

余談

-sS オプションの組み合わせにより、進捗や通常の出力は抑えつつ、エラーメッセージだけは表示されるようにできる。

Discussion

MarukoMaruko

すごく参考になりました、ありがとうございます☺️