Bashのwhileとuntilループ - ファイル読み込み、ポーリング、カウンター
ファイルの行単位読み込み、サービスのポーリング、カウンターの実装、リトライロジックの構築のためのbashのwhileとuntilループをマスターします。
Control Flow
詳細な説明
Bashのwhileとuntilループ
whileループは条件が真である間コマンドブロックを繰り返します。untilループは条件が真になるまで繰り返します。
基本的なwhileループ
count=5
while [ $count -gt 0 ]; do
echo "$count..."
count=$((count - 1))
done
ファイルの行単位読み込み
while IFS= read -r line; do
echo "Processing: $line"
done < input.txt
untilループ
until curl -sf http://localhost:3000/health > /dev/null 2>&1; do
echo "サーバーを待機中..."
sleep 2
done
echo "サーバーが起動しました!"
リトライロジック
MAX_RETRIES=5
attempt=0
while [ $attempt -lt $MAX_RETRIES ]; do
if deploy_application; then
echo "デプロイ成功"
break
fi
attempt=$((attempt + 1))
echo "試行 $attempt 失敗、10秒後にリトライ..."
sleep 10
done
ユースケース
whileループは設定ファイルの読み込み、ログファイルの行単位処理、サービスヘルスチェックのポーリング、信頼性の低い操作(ネットワークリクエスト、デプロイ)のリトライメカニズムの構築、対話型コマンドラインメニューの作成、定期的なシステムリソース監視に不可欠です。