1. ホーム
  2. bash

[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?

2022-03-15 17:33:33

質問

Bash で数値の範囲を変数で指定した場合、どのように反復処理するのですか?

これができることは知っています (Bashでは "シーケンス式" と呼ばれています)。 ドキュメント ):

 for i in {1..5}; do echo $i; done

どちらが与えるか。

1
2
3
4
5

それでも、範囲の端点のどちらかを変数に置き換えるにはどうしたらよいでしょうか。これではうまくいきません。

END=5
for i in {1..$END}; do echo $i; done

どれがプリントされるか。

{1..5}

解決方法は?

for i in $(seq 1 $END); do echo $i; done

edit: 私は seq を使うのは、実際に覚えていられるからです ;)