ダウンロードが成功するまでリンクをダウンロードしたいのですが、
#!/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と評価されるため、このコマンドの代わりに任意のコマンドを使用できます。