seq コマンドを使うと簡単にできます。以下のコマンドで 1 から 5 までの数字を改行区切りで得られます。 #!/bin/bash seq 1 5 seq コマンドの結果を用いてループする場合は以下のようになります。 #!/bin/bash # for 文の場合 end=5 for i in $(seq 1 $end); do echo $i done # while 文の場合 - サブシェルパターン end=5 seq 1 $end | while read -r i; do echo $i done # while 文の場合 - プロセス置換パターン end=5 while read -r i; do echo $i done < <(seq 1 $end) ちなみにループしたいだけであれば、Bash のみなりますが二重丸括弧 (( )) を用いて for 文で書くこともできます。