curlを使用してHTTPステータスコードが200になるまで待ちたい

対応

以下のコードで5秒間隔でHTTPステータスが200になるまで待ち、30秒経過した場合はタイムアウトする。

CHECK_URL=www.google.co.jp
timeout 30 bash -c "while [[ "$(curl -s -o /dev/null -w '%{http_code}' ${CHECK_URL})" != '200' ]]; do sleep 5; done"

curl

サーバーとの間でデータを転送するためのツール

-s

メッセージの非表示

-o

出力先

-w

フォーマットを指定して出力