Bagaimana cara saya mengulangi rentang angka di Bash ketika rentang diberikan oleh variabel?
Saya tahu saya bisa melakukan ini (disebut "ekspresi urutan" dalam dokumentasi Bash ):
for i in {1..5}; do echo $i; done
Pemberian yang mana:
1
2
3
4
5
Namun, bagaimana saya bisa mengganti salah satu dari titik akhir rentang dengan variabel? Ini tidak berfungsi:
END=5
for i in {1..$END}; do echo $i; done
Yang mencetak:
{1..5}
for i in {01..10}; do echo $i; done
akan memberikan angka seperti 01, 02, 03, ..., 10
.
myarray=('a' 'b' 'c'); for i in ${!myarray[@]}; do echo $i; done
(perhatikan tanda seru). Ini lebih spesifik daripada pertanyaan awal, tetapi bisa membantu. Lihat ekspansi parameter bash
{jpg,png,gif}
yang tidak secara langsung dibahas di sini, meskipun jawabannya akan sama. Lihat ekspansi Brace dengan variabel? [duplikat] yang ditandai sebagai duplikat yang satu ini.