답변:
소스 코드 가 처리하는 방법 인 것으로 차이에 대해 설명 --help
옵션을 선택합니다.
/* Recognize --help or --version, but only when invoked in the "[" form, when the last argument is not "]". Use direct parsing, rather than parse_long_options, to avoid accepting abbreviations. POSIX allows "[ --help" and "[ --version" to have the usual GNU behavior, but it requires "test --help" and "test --version" to exit silently with status 0. */
시연
$ /usr/bin/test --help
$
$ /usr/bin/[ --help
Usage: test EXPRESSION
or: test
or: [ EXPRESSION ]
or: [ ]
or: [ OPTION
Exit with the status determined by EXPRESSION.
[...]
에서 bash
내장 버전, 유일한 차이점은입니다 [
필요 ]
당신이 말한대로, 마지막에.
일반적으로 하드 링크가있는 동일한 바이너리입니다. 쉘에 따라 바이너리 대신 내부 구현을 사용 test
하고 [
테스트 할 수 있습니다 . 이는 프로세스 생성 측면에서 더 효율적이며 이진 프로그램이 test
제공 하는 옵션과 다른 옵션을 제공 할 수 있습니다 .
통화 형식의 차이점 외에도 둘 다 동일한 기능을 제공합니다.