Як я повторюю діапазон чисел у 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}
які тут не йдеться безпосередньо, хоча відповідь буде ідентичною. Дивіться розширення Brace зі змінною? [дублікат], який позначений як дублікат цього.