while文~シェルスクリプト
シェルスクリプトで便利なwhile文について初歩的な部分のご紹介をします。
while文の構文
while [ 条件式 ] ; do 処理; done
while [ 条件式 ]
do
処理
done
while文の概要
while文は、条件式とその処理結果が真の場合、
処理をループし続ける繰り返し処理を行います。
処理結果が偽となった場合に、繰り返し処理が終了します。
繰り返し文を使うシーンはIT系企業の開発現場だけでなく、
運用現場でも非常に多くあるため、知っている方も多い文でしょう。
今回はシェルスクリプトにおけるwhile文であることから、
ルーティン作業が多いソフトウェアの運用担当者や、
サーバ運用担当者による使用するシーンが多いかもしれませんね。
whileと[の間に空白を
while文は、whileの後ろに条件式を記述することが多く、
「 [条件式] 」で表記しますが、
「while」と 「 [条件式] 」 の間には、
半角スペースや改行などが必要です。
続けて、 「 while[条件式] 」と記述しないように注意してください。
ワンライナーでwhileを書く時のセミコロン
while文は1行で記述する場合もありますし、
可読性を考慮して複数行で記述する場合もあります。
ここでの注意点は、
while文を1行で記述する場合には、
while [ 条件式 ] ; do 処理;
のように、
do の前に 「;(セミコロン)」を間に挟む必要があります。
ただし、doの後には「;(セミコロン)」を記述してしまうと
文法エラーとなりこれはwhile文が実行されません。
処理を記述するか、改行を挟んでください。
無限ループ
「:(コロン)」、あるいは、「true」は真を表すため、
while :
または
while true
と記述すると、常に真となり、無限ループとなります。
( 無限ループから脱出するには Ctrl+C を押してください )
while文と数値比較
- -eq : 等しいかどうかをチェック
- -ne : 異なるかどうかをチェック
- -lt : 数値<数値 となっているかチェック
- -le : 数値≦数値 となっているかチェック
- -gt : 数値>数値 となっているかチェック
- -ge : 数値≧数値 となっているかチェック
6日間で楽しく学ぶLinuxコマンドライン入門 コマンドの基本操作を身につけよう (ネット時代の、これから始めるプログラミング(NextPublishing))
- 作者: 大津真
- 出版社/メーカー: インプレスR&D
- 発売日: 2015/04/24
- メディア: Kindle版
- この商品を含むブログを見る