Как перебрать диапазон чисел в 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 {01..10}; do echo $i; done
выдаст такие цифры, как 01, 02, 03, ..., 10
.
myarray=('a' 'b' 'c'); for i in ${!myarray[@]}; do echo $i; done
(обратите внимание на восклицательный знак). Это более конкретный вопрос, чем первоначальный вопрос, но может помочь. Смотрите расширения параметров bash
{jpg,png,gif}
которые прямо не рассматриваются, хотя ответ будет идентичным. Видите расширение скобки с переменной? [дубликат], который помечен как дубликат этого.