Bash에서는 getopts를 항상 사용할 수 있나요?

Bash에서는 getopts를 항상 사용할 수 있나요?

다른 종속성에 대해 걱정하지 않고 getopts스크립트 bash( 대신 )에서 명령줄 인수를 구문 분석하는 데 이를 사용할 수 있습니까 ?sh

답변1

$ type getopts
getopts is a shell builtin

getopts내장되어 있으므로 bash가 있는 곳이면 어디든 존재합니다.

이를 확인하려면 bash 문서를 확인하여 이것이 선택적 기능인지 확인해야 합니다. 그렇지 않습니다.

getopts보다 정확하게는 특정 버전의 bash에서 무엇을 사용할 수 있는지 알려줍니다 . 이전 버전이 언제 출시되었는지 알아보려면 해당 버전의 릴리스 노트를 확인해야 합니다. 새벽이 되기 전에 이런 일이 발생했는지 확인해야 합니다. getopts(이미 bash 1.14에 있었고 이전 버전을 찾기가 어려울 것입니다.) .

getopts더 좋은 점은 bash가 아닌 쉘에서도 신뢰할 수 있다는 것입니다.POSIX 요구 사항.

답변2

네, 확인해 보세요 man getopts. getopts의 프로그램으로서도 내장 /usr/bin된 bash 명령 목록으로 리디렉션되고 BASH_BUILTINS(1)bash 문서에서는 구체적으로 를 참조하는 것을 볼 수 있습니다 getopts.

    getopts optstring name [args]
        ...

getopts 사용 방법에 대한 자세한 사용법은 다음을 참조하세요."Bash에서 getopts를 사용하는 방법의 예"

관련 정보