test(1)
Name
test − test conditional expression
Syntax
test expr
[ expr ]
Description
The test command evaluates the expression expr. If the value of expr is true, the test command returns a zero exit status; otherwise, it returns a nonzero exit status. The test command also returns a nonzero exit status if no arguments are specified.
Options
The following primitives are used to construct expr:
−r file Tests if the file exists and is readable.
−w file Tests if the file exists and is writable.
−f file Tests if the file exists and is not a directory.
−d file Tests if the file exists and is a directory.
−s file Tests if the file exists and has a size greater than zero.
−t [ fildes ] Tests if the open file, whose file descriptor number is fildes (1 by default), is associated with a terminal device.
−z s1 Tests if the length of string s1 is zero.
−n s1 Tests if the length of the string s1 is nonzero.
s1 = s2 Tests if the strings s1 and s2 are equal.
s1 != s2 Tests if the strings s1 and s2 are not equal.
s1 Tests if s1 is not the null string.
n1 −eq n2 Tests if number1 equals number2.
n1 −ge n2 Tests if number1 is greater than or equal to number2.
n1 −gt n2 Tests if number1 is greater than number2.
n1 −le n2 Tests if number1 is less than or equal to number2.
n1 −lt n2 Tests if number1 is less than number2.
n1 −ne n2 Tests if number1 is not equal to number2.
These primitives can be combined with the following operators:
!expr Negates evaluation of expression.
expr −a expr Tests logical and of two expressions.
expr −o expr Tests logical or of two expressions.
( expr... ) Groups expressions.
The −a operator takes precedence over the −o operator. Note that all the operators and flags are separate arguments to test. Note also that parentheses are meaningful to the Shell and must be escaped.