こんにちは。
本日はシェルスクリプトメモです。
範囲指定
#!/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
以上です。