for文(実践)
前回は
for文を教えてもらったよ!
繰り返し処理に便利なんだ!
今回は
for文で
シェルスクリプトを
書いていこう!
今回はカウントダウンをしてくれる
countdown スクリプトを作るよ
まずはエディタを開いてね
vim countdown
うん!
次に以下の内容を書き込んで保存してね
#!/bin/bash
echo -n "カウントダウン開始値を入力して下さい: "
read FIRST
for COUNT in $(seq "$FIRST" -1 1)
do
echo "$COUNT"
sleep 1
done
for文の前の内容はもう大丈夫かな?echo -n "カウントダウン開始値を入力して下さい: "
read FIRST
大丈夫!入力を促すメッセージを表示して
read がキーボード入力を受け取りその値を FIRST 変数に代入してくれるんだよ!read の使い方はもう大丈夫だね!for文の in の後は何をしているんだろうね?$(seq "$FIRST" -1 1)
seq は数列生成コマンドだよ!$FIRST から始め、-1 ずつ値を変えながら、1 で終わる」for文の処理を繰り返すんだね!そのとおり!例えば
5 を入力したらこの部分は 5 4 3 2 1 と展開されるわけだね!最後に繰り返し処理を見ていこう!
echo "$COUNT"
sleep 1
これは以下の繰り返しになるよね!
COUNT変数の値を表示- 1秒待つ
COUNT 変数の値はseq の働きで$FIRST から 1 まで-1 ずつ変化していくつまりカウントダウンの処理になっているんだよ!それが終わると
for文が終わりスクリプトが終了するというわけだね!今回は
for文を使ったシェルスクリプトを書いたよ!for文は in の後ろの値全てに対して同じ処理を行いたいときに便利なんだ