


      TEST(1)                     (UNIX 5.0)                    TEST(1)



      NAME
           test - condition evaluation command

      SYNTAX
           test expr
           [ expr ]

      DESCRIPTION
           Test evaluates the expression expr and, if its value is
           true, returns a zero (true) exit status; otherwise, a non-
           zero (false) exit status is returned; test also returns a
           non-zero exit status if there are no arguments.  The
           following primitives are used to construct expr:

           -r file     true if file exists and is readable.

           -w file     true if file exists and is writable.

           -x file     true if file exists and is executable.

           -f file     true if file exists and is a regular file.

           -d file     true if file exists and is a directory.

           -c file     true if file exists and is a character special
                       file.

           -b file     true if file exists and is a block special file.

           -p file     true if file exists and is a named pipe (fifo).

           -u file     true if file exists and its set-user-ID bit is
                       set.

           -g file     true if file exists and its set-group-ID bit is
                       set.

           -k file     true if file exists and its sticky bit is set.

           -s file     true if file exists and has a size greater than
                       zero.

           -t [ fildes ]
                       true if the open file whose file descriptor
                       number is fildes (1 by default) is associated
                       with a terminal device.

           -z s1       true if the length of string s1 is zero.

           -n s1       true if the length of the string s1 is non-zero.

           s1 = s2     true if strings s1 and s2 are identical.



      Page 1                                          (73 A2 02MT REV1)






      TEST(1)                     (UNIX 5.0)                    TEST(1)



           s1 != s2    true if strings s1 and s2 are not identical.

           s1          true if s1 is not the null string.

           n1 -eq n2   true if the integers n1 and n2 are algebraically
                       equal.  Any of the comparisons -ne, -gt, -ge,
                       -lt, and -le may be used in place of -eq.

           These primaries may be combined with the following
           operators:

           !           unary negation operator.

           -a          binary and operator.

           -o          binary or operator (-a has higher precedence
                       than -o).

           ( expr )    parentheses for grouping.

           Notice that all the operators and flags are separate
           arguments to test.  Notice also that parentheses are
           meaningful to the shell and, therefore, must be escaped.

      SEE ALSO
           find(1), sh(1).

      WARNING
           In the second form of the command (i.e., the one that uses
           [], rather than the word test), the square brackets must be
           delimited by blanks.
























      Page 2                                          (73 A2 02MT REV1)



