こんにちは、さるまりんです。
コマンドラインからもらった数値の回数分繰り返す処理を書く必要があったのでメモしておきます。
for ((開始; 継続の条件; 変化))
do
繰り返す内容
done
他のプログラミング言語と似ていますね。
次のスクリプトは引数でもらった数字から0までカウントダウンします。
countdown.sh
#!/bin/sh
NUM=$1
if [ -z $NUM ]
then
NUM=10
fi
for ((i=$NUM; i>=0; i--))
do
sleep 1
echo $i
done
実行するとこんな感じです。
数字が表示される間に1秒、sleep
で待ちます。
$ ./countdown.sh 25
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
繰り返し回数が決まっていたらforループが便利ですよね。
他のプログラミング言語ではやったことがあったのですが、シェルスクリプトではやってなかったので。
読んでくださってありがとうございました。
それではまた!