Bash で変数によって定義された数値の範囲を反復処理するにはどうすればよいでしょうか? 質問する

Bash で変数によって定義された数値の範囲を反復処理するにはどうすればよいでしょうか? 質問する

範囲が変数によって指定されている場合、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}

ベストアンサー1

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

編集:seq実際に覚えられるので、他の方法よりも気に入っています ;)

おすすめ記事