xref: /original-bsd/bin/test/test.1 (revision 2301fdfb)
@(#)test.1 6.2 (Berkeley) 09/22/87

TEST 1 ""
.AT 3
NAME
test - condition command
SYNOPSIS
test expr
DESCRIPTION
test evaluates the expression expr , and if its value is true then returns zero exit status; otherwise, a non zero exit status is returned. test returns a non zero exit if there are no arguments.

The following primitives are used to construct expr .

9n -r " file" true if the file exists and is readable.

-w " file" true if the file exists and is writable.

-f " file" true if the file exists and is not a directory.

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

-s " file" true if the 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 nonzero.

s1 " = " s2 true if the strings s1 and s2 are equal.

s1 " != " s2 true if the strings s1 and s2 are not equal.

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 , or -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

"( " "expr" " )" parentheses for grouping.

-a has higher precedence than -o. Notice that all the operators and flags are separate arguments to test . Notice also that parentheses are meaningful to the Shell and must be escaped.

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