test [ arg ... ]
[ [ arg ... ] ]
       Like the system version of test.  Added for compatibility; use  con-
       ditional  expressions  instead (see the section `Conditional Expres-
       sions').  The main differences between  the  conditional  expression
       syntax and the test and [ builtins are:  these commands are not han-
       dled  syntactically,  so for example an empty variable expansion may
       cause an argument to be omitted; syntax errors cause status 2 to  be
       returned  instead  of a shell error; and arithmetic operators expect
       integer arguments rather than arithmetic expressions.

       The command attempts to implement POSIX  and  its  extensions  where
       these  are specified.  Unfortunately there are intrinsic ambiguities
       in the syntax; in particular there is no  distinction  between  test
       operators  and strings that resemble them.  The standard attempts to
       resolve these for small numbers of arguments (up to four); for  five
       or  more  arguments  compatibility  cannot  be relied on.  Users are
       urged wherever possible to use the `[[' test syntax which  does  not
       have these ambiguities.
