Bashを使用してダウンロードしたときにエラーを検出するには、どのような条件を確認できますか?

Bashを使用してダウンロードしたときにエラーを検出するには、どのような条件を確認できますか?

ダウンロードが成功するまでリンクをダウンロードしたいのですが、

     #!/bin/bash 
     while [ some_condition  ]; do
         curl my_url
         # or
         vagrant add my_vagrant_url --name localdev --force
     done

ダウンロードストリームが異常に壊れていないことを検出する正しい方法は何ですか?

答え1

while ! curl my_url; do sleep 0.1; done

エラーが発生すると、カールはゼロ以外の終了コードで終了します。

理解すべき重要な点は、シェルの形式的な条件文が[ ... ]特別な言語構成ではないことです。[はコマンドで、残りは対応する]パラメーターです。[すべてのコマンドに終了ステータスがあり、その終了ステータスが0の場合、条件はtrueと評価されるため、このコマンドの代わりに任意のコマンドを使用できます。

関連情報