■while文の使い方
while文は、指定した条件が真であり続ける限り処理を繰り返す。
なお、指定した条件(コマンド)の終了ステータスが「0」である場合を真と判定する。
▼while文の書き方(基礎)
while文の書き方を以下に示す。
while [[ 指定した条件(コマンド) ]]
do
繰り返す処理を記載する
done
・サンプルプログラムの仕様
▼処理概要
数字を0から9までを表示する。
▼処理詳細
①変数に初期値「0」をセットする。
②while文を使用(条件:変数が10より小さい間繰り返す)
②ー1 変数(数字)を表示
②ー2 変数をインクリメント(プラス1する)
・サンプルコード
#!/bin/bash
# 初期値をセット
i=0
# 10より小さい間繰り返す
while [[ $i -lt 10 ]]
do
# 数字を表示
echo "$i"
# インクリメント処理
i=$((i + 1))
done
注意!
インクリメント処理(変数「 i 」の値を増加させる)を行わないと、無限ループしてしまう。
・実行結果
0
1
2
3
4
5
6
7
8
9
▼continueとbreakを使ったwhile文
while文についてもfor文と同様に「continue」と「break」を使用することができる。
▼for文についての参照先
・サンプルプログラムの仕様
▼処理概要
数字の「0、1、2、3、5、6」を表示する。
なお、処理は10回繰り返し、「continue」と「break」を使用すること。
▼処理詳細
①変数に初期値「0」をセットする。
②while文を使用(条件:変数が10より小さい間繰り返す)
②ー1 【条件分岐】変数が4の時
②ー1ー1 変数をインクリメント(プラス1する)
②ー1ー2 スキップ(continue)
②ー2 【条件分岐】変数が7の時
②ー2ー1 処理終了(break)
②ー3 変数(数字)を表示
②ー4 変数をインクリメント(プラス1する)
・サンプルコード
#!/bin/bash
# 初期値をセット
i=0
# 10より小さい間繰り返す
while [[ $i -lt 10 ]]
do
# iが4のときは続ける(スキップ)
if [ $i -eq 4 ]; then
# インクリメント処理
i=$((i + 1))
continue
# iが7のときは終了
elif [ $i -eq 7 ]; then
break
fi
# 数字を表示
echo "$i"
# インクリメント処理
i=$((i + 1))
done
注意!
上記のような判定処理でcontinueを使用するときは、必ずインクリメント処理(変数「 i 」の値を増加させる)を行わないと、無限ループしてしまう。
・実行結果
0
1
2
3
5
6
4がスキップされ、7の時に終了(break)となる。
コメント
[…] 【Shell】while文:基本的な使い方と「continue」・「break」の使い方■while文の使い方while文は、指定した条件が真であり続ける限り処理を繰り返す。なお、指定した条件(コマンド)の終了 […]