bashにおけるfor文のループ回数指定

bashではfor文を用いてループ文を実行することが出来る。 ここではループ回数の指定の仕方について記述する。

まず、基本的なbashのループ文の構造は以下の通りである。

for (変数) in (リスト)
do
(実行する内容)
done

for文でループさせる時にリストを用いて変数に順に入れていく手法ではなく ある回数を定めてその回数分ループをさせたい場合がある。

その際に利用すると便利なのが seq である。 seqは 1 から seqの後に渡された引数の数を表示するコマンドで これを利用することによってループの回数を指定することが出来る。

例:0から10までの数字をランダムに10個表示させる

for i in `seq 10`                                                      
do
echo $(($RANDOM%10))
done

また、よく使われる手法として ((i=0; i<10; i++)) というものもある。 こちらはiを0と指定し、一度ループが行われるごとに1を1ずつ足していき iが10より小さい間ループを続ける、というものである。

先ほどの例をこちらで書き換えると

for ((i=0; i<10; i++))                                                      
do
echo $(($RANDOM%10))
done

となる。