test [ arg ... ]
[ [ arg ... ] ]
       Like the system version of test.  Added  for  compatibility;  use
       conditional expressions instead (see the section `Conditional Ex-
       pressions').   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 between
       test  operators and strings that resemble them.  The standard at-
       tempts 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  syn-
       tax which does not have these ambiguities.
