範囲が変数によって指定されている場合、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
実際に覚えられるので、他の方法よりも気に入っています ;)