test [ arg ... ]
[ [ arg ... ] ]
       Like the system version of test.  Added for  compatibility;  use
       conditional  expressions  instead  (see the section `Conditional
       Expressions').  The main differences between the conditional ex-
       pression syntax and the test and [ builtins are:  these commands
       are not handled 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 arith-
       metic expressions.

       The command attempts to implement POSIX and its extensions where
       these are specified.  Unfortunately there are intrinsic ambigui-
       ties  in  the  syntax; in particular there is no distinction be-
       tween test operators and strings that resemble them.  The  stan-
       dard  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.
