Làm thế nào để tôi lặp lại một phạm vi số trong Bash khi phạm vi được đưa ra bởi một biến?
Tôi biết tôi có thể làm điều này (được gọi là "biểu thức trình tự" trong tài liệu Bash ):
for i in {1..5}; do echo $i; done
Cung cấp cho:
1
2
3
4
5
Tuy nhiên, làm thế nào tôi có thể thay thế một trong hai điểm cuối phạm vi bằng một biến? Điều này không hoạt động:
END=5
for i in {1..$END}; do echo $i; done
Bản in nào:
{1..5}
for i in {01..10}; do echo $i; done
sẽ cho số như thế nào 01, 02, 03, ..., 10
.
myarray=('a' 'b' 'c'); for i in ${!myarray[@]}; do echo $i; done
(lưu ý dấu chấm than). Nó cụ thể hơn câu hỏi ban đầu, nhưng có thể giúp ích. Xem phần mở rộng tham số bash
{jpg,png,gif}
không được đề cập trực tiếp ở đây, mặc dù câu trả lời sẽ giống hệt nhau. Xem Brace mở rộng với biến? [trùng lặp] được đánh dấu là bản sao của cái này.