Các mã nguồn giải thích sự khác biệt như là cách nó xử lý các --help
tùy chọn.
/* 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. */
Chứng minh
$ /usr/bin/test --help
$
$ /usr/bin/[ --help
Usage: test EXPRESSION
or: test
or: [ EXPRESSION ]
or: [ ]
or: [ OPTION
Exit with the status determined by EXPRESSION.
[...]
Trong bash
phiên bản dựng sẵn, sự khác biệt duy nhất là [
yêu cầu ]
ở cuối, như bạn đã nói.