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
       expression syntax and the test and [ builtins are:   these  com-
       mands  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
       arithmetic 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  attempts  to  resolve these for small numbers of argu-
       ments (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.
