쉘스크립트의 while/until 루프에 있는 Break 명령이 모든 POSIX 환경에서 작동합니까?

쉘스크립트의 while/until 루프에 있는 Break 명령이 모든 POSIX 환경에서 작동합니까?

POSIX 호환 쉘 코드는 while break; do echo x; done아무 것도 인쇄하지 않고 모든 쉘에서 오류 없이 실행됩니까?

답변1

예. ~에서사양break:

Break 유틸리티는 for, while 또는 Until 루프를 포함하는 (...)에서 종료되어야 합니다.

(...) 명령이 (...)인 경우 루프에는 중단 또는 계속 명령이 포함되어야 합니다.

  • 루프와 관련된 복합 목록에 포함되어 있습니다(루프의 do 그룹의 복합 목록에 있거나 루프가 while 또는 Until 루프인 경우 while 또는 Until 예약어 다음의 복합 목록에 있음) 및 (.. .)

루프의 조건부 부분에 break또는 를 넣는 것은 일반적이지 않으며 독자에게 혼란을 줄 수 있지만 POSIX와 호환됩니다.continue

관련 정보