👅

シェルスクリプトの基礎⑧~while文~

2021/01/11に公開

はじめに

くーばねてすをやっつけるためにLinuxさんと仲良くさせていただいているが、Linuxさんにはシェルのコマンドを格納しておくシェルスクリプトというファイルがあるらしいのでそれをまとめてみた。

概要

■while文

をまとめた^^

while文とは

while 文は指定した条件式が真の場合にのみ繰り返し処理を実行し、条件式が偽になった場合は繰り返しのループ処理が終了する構文だ。
処理回数が明確である場合には for 文を使うのに対し、処理回数が開始時点では決まっていない場合はこの while 文を用いる。
条件が満されているあいだ処理を繰り返すってことだね!('_')

whiile文書式

while 条件式       (←if文と同じようにtestコマンド表記する)
do
	繰り返し処理
done

やってみよう!
コマンドラインの値が20以下であるならば2ずつ足していけっていうのをやってみた。
21以上になったらちゃんとストップするのかな('_')?
2ずつ足していく作業はbashの算術展開という機能を利用していく。
bashの算術展開の例
|式|意味|
| --- | --- | --- |
|$(( a + 1))|a + 1|
|$(( a / 2))|a ÷ 2|
|$(( a * 2))|a × 2|
|$(( a ** 2))|aの2乗|

$cat count.sh
#! /bin/bash
a=$1             (aに$1を代入して)
while [ "$a" -le 20 ]    (条件:aが20以下だった場合)
do 
	echo "$a"     (数値を表記してから)
	a=$((a + 2))    (2足せ)(20超えるまで繰り返し処理せよ)
done
$ ./count.sh  1
1
3
5
7
9
11
13
15
17
19

できた!(>_<)
ちなみにshで算術展開をしようとすると

a=`expr $a +2`

というふうになる。
いちいち外部コマンドであるexprコマンドを呼び出さなければいけないので時間がかかるしとても読みにくいのでおすすめしないらしい(>_<)

まとめ

眠い!(>_<)

Discussion