TEST(1) — UNIX Programmer’s Manual
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.
−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 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
7th Edition — Revision 1.2 of 19/10/88