Bashのwhileループ:使い方と実例を初心者向けに解説
January 20, 2025
Bashのwhileループは、指定された条件が真(true)である間、繰り返し処理を実行するための基本的な構文です。タスクの自動化や複雑なループ処理に非常に役立ちます。本記事では、Bashのwhileループの基本構文から実例までを初心者向けに解説します。
1. whileループとは?
whileループは、条件が満たされる限り、指定されたコマンドを繰り返し実行します。
基本構文:
while [ 条件 ]
do
# 実行するコマンド
done
条件が偽(false)になると、ループは終了します。
2. 基本的な使用例
以下は、whileループを使った基本的な例です。
例1:1から5までの数値を表示
#!/bin/bash
i=1
while [ $i -le 5 ]
do
echo "カウント: $i"
((i++))
done
結果:
カウント: 1
カウント: 2
カウント: 3
カウント: 4
カウント: 5
この例では、i
が5以下である限りループが繰り返されます。
3. 条件付き処理
whileループは、条件によって動作を制御できます。
例2:ファイルの存在をチェック
#!/bin/bash
file="example.txt"
while [ ! -f "$file" ]
do
echo "$file が存在しません。チェック中..."
sleep 2
done
echo "$file が見つかりました!"
結果: ファイルが見つかるまで2秒ごとにメッセージが表示されます。
4. 無限ループと制御方法
無限ループを作成することもできますが、制御しないとスクリプトが終了しません。
例3:無限ループ
#!/bin/bash
while true
do
echo "このメッセージは繰り返されます"
sleep 1
done
無限ループを終了するには、Ctrl + Cを押して停止します。
breakとcontinueを使用した制御:
#!/bin/bash
i=1
while [ $i -le 10 ]
do
if [ $i -eq 5 ]; then
echo "中断します"
break
fi
echo "カウント: $i"
((i++))
done
5. 実用的な応用例
以下は、whileループの実用的な使用例です。
例4:ログファイルを監視
#!/bin/bash
logfile="/var/log/syslog"
while true
do
tail -n 10 $logfile
sleep 5
done
このスクリプトは、指定されたログファイルの最後の10行を5秒ごとに表示します。
例5:入力を検証
#!/bin/bash
while true
do
read -p "数字を入力してください (終了: 0): " num
if [ $num -eq 0 ]; then
echo "終了します"
break
elif [ $num -lt 0 ]; then
echo "正の数を入力してください"
else
echo "入力された数字: $num"
fi
done
6. Bashスクリプトを学ぶ利点
whileループを含むBashスクリプトを学ぶことで、タスクの自動化や効率的な処理が可能になります。
- システム管理を簡単にする
- 繰り返しタスクを自動化
- 複雑な条件処理を簡潔に記述
7. さらに学びたい方へ
Bashのwhileループやスクリプトの詳細をもっと学びたい方は、私たちのBashスクリプトチートシートをご覧ください!初心者にも分かりやすいコード例やヒントが満載で、効率的にスキルを向上させることができます。
まとめ
Bashのwhileループは、条件付きでタスクを繰り返すための強力なツールです。本記事を参考に、基本から応用例までを学び、Bashスクリプトを使った自動化や効率化に挑戦してみましょう!
ぜひBashスクリプトチートシートもチェックして、さらにスクリプト作成のスキルを磨いてください!