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
の後ろの値全てに対して同じ処理を行いたいときに便利なんだ