왜 'for anytext;'가 4번 반복되나요?

왜 'for anytext;'가 4번 반복되나요?

이것은 버그입니까 아니면 기능입니까?
이런 일이 일어날 것 같아요인용되지 않음문자와 숫자.

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 "$@"가정됩니다. 의 각 요소에 대해 해당 요소를 설정 WORDSNAMECOMMANDS실행합니다.

따라서 인용한 코드는 4개의 매개변수로 호출되는 스크립트에서 실행될 수 있습니다.

답변2

for x; do …예 단축키 for x in "$@"; do …: 위치 매개변수를 반복합니다. 4번 반복되면 4개의 위치 인수( $1to $4)가 있다는 의미입니다.

관련 정보