TEST(1) UNIX Programmer's Manual TEST(1) NAME test - condition command SYNOPSIS test expr [ expr ] DESCRIPTION _T_e_s_t evaluates the expression _e_x_p_r, and if its value is true then returns zero exit status; otherwise, a non zero exit status is returned. _T_e_s_t returns a non zero exit if there are no arguments. If _t_e_s_t is invoked as [, it expects its last argument to be ``].'' The following primitives are used to construct _e_x_p_r. -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 _f_i_l_d_e_s (1 by default) is associated with a ter- minal device. -z s1 true if the length of string _s_1 is zero. -n s1 true if the length of the string _s_1 is nonzero. s1 = s2 true if the strings _s_1 and _s_2 are equal. s1 != s2 true if the strings _s_1 and _s_2 are not equal. s1 true if _s_1 is not the null string. n1 -eq n2 true if the integers _n_1 and _n_2 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 opera- tors: Printed 8/2/83 1 TEST(1) UNIX Programmer's Manual TEST(1) ! unary negation operator -a binary _a_n_d operator -o binary _o_r operator ( expr ) parentheses for grouping. -a has higher precedence than -o. Notice that all the opera- tors and flags are separate arguments to _t_e_s_t. Notice also that parentheses are meaningful to the shell and must be escaped. SEE ALSO csh(1), find(1), sh(1) Printed 8/2/83 2