なんだかGoodVibes

日々の勉強メモです。

【ShellScript】forループの書き方

こんにちは。
本日はシェルスクリプトメモです。

範囲指定

#!/bin/bash

for i in {1..3}
do
        echo $i
done

実行結果は以下です。

1
2
3


変数を指定した場合は以下です。

#!/bin/bash

loop_max=3
for i in {1..$loop_max}
do
        echo $i
done

実行結果は以下です。

{1..3}

ブレース展開は、変数展開よりも先に行われるので
予期した結果になりません。


seqコマンドを使用

#!/bin/bash

for i in `seq 3`
do
        echo $i
done

実行結果は以下です。

1
2
3


変数を指定した場合は以下です。

#!/bin/bash

loop_max=3
for i in `seq $loop_max`
do
        echo $i
done

実行結果は以下です。

1
2
3


C言語風の構文

#!/bin/bash

for ((i=1; i<=3; i++))
do
        echo $i
done

実行結果は以下です。

1
2
3


変数を指定した場合は以下です。

#!/bin/bash

loop_max=3
for ((i=1; i<=$loop_max; i++))
do
        echo $i
done

実行結果は以下です。

1
2
3



以上です。