이것은 버그입니까 아니면 기능입니까?
이런 일이 일어날 것 같아요인용되지 않음문자와 숫자.
GNU bash 버전 4.1.5 실행
for alpha01234; do echo $((++i)); done
산출:
1
2
3
4
답변1
for
이는 아래에 설명된 복합 명령의 기능입니다 help for
.
for: for NAME [in WORDS ... ] ; do COMMANDS; done
목록의 각 구성원에 대해 명령을 실행합니다.
이
for
루프는 프로젝트 목록의 각 멤버에 대해 일련의 명령을 실행합니다.in WORDS ...;
존재하지 않는 경우in "$@"
가정됩니다. 의 각 요소에 대해 해당 요소를 설정WORDS
한NAME
후COMMANDS
실행합니다.
따라서 인용한 코드는 4개의 매개변수로 호출되는 스크립트에서 실행될 수 있습니다.
답변2
for x; do …
예 단축키 for x in "$@"; do …
: 위치 매개변수를 반복합니다. 4번 반복되면 4개의 위치 인수( $1
to $4
)가 있다는 의미입니다.