변수에 범위가 주어지면 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}
여기에서 직접 다루지 않는 것과 같은 표현식에도 사용 되지만 답은 동일합니다. 변수가있는 브레이스 확장을 참조하십시오 . [중복] 이 중 중복으로 표시됩니다.