Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TEST(1)			  BSD General Commands Manual		       TEST(1)

NAME
     test -- condition evaluation utility

SYNOPSIS
     test expression

DESCRIPTION
     The test utility evaluates	the expression and, if it evaluates to true,
     returns a zero (true) exit	status;	otherwise it returns 1 (false).	 If
     there is no expression, test also returns 1 (false).

     All operators and flags are separate arguments to the test	utility.

     The following primaries are used to construct expression:

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

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

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

     -e	file
	     True if file exists (regardless of	type).

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

     -g	file
	     True if file exists and its set group ID flag is set.

     -h	file
	     True if file exists and is	a symbolic link.

     -n	string
	     True if the length	of string is nonzero.

     -p	file
	     True if file is a named pipe (FIFO).

     -S	file
	     True if file is a socket.

     -r	file
	     True if file exists and is	readable.

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

     -t	[file_descriptor]
	     True if the file whose file descriptor number is file_descriptor
	     (default 1) is open and is	associated with	a terminal.

     -u	file
	     True if file exists and its set user ID flag is set.

     -w	file
	     True if file exists and is	writable.  True	indicates only that
	     the write flag is on.  The	file is	not writable on	a read-only
	     file system even if this test indicates true.

     -x	file
	     True if file exists and is	executable.  True indicates only that
	     the execute flag is on.  If file is a directory, true indicates
	     that file can be searched.

     -z	string
	     True if the length	of string is zero.

     string  True if string is not the null string.

     s1	= s2
	     True if the strings s1 and	s2 are identical.

     s1	!= s2
	     True if the strings s1 and	s2 are not identical.

     n1	-eq n2
	     True if the integers n1 and n2 are	algebraically equal.

     n1	-ne n2
	     True if the integers n1 and n2 are	not algebraically equal.

     n1	-gt n2
	     True if the integer n1 is algebraically greater than the integer
	     n2.

     n1	-ge n2
	     True if the integer n1 is algebraically greater than or equal to
	     the integer n2.

     n1	-lt n2
	     True if the integer n1 is algebraically less than the integer n2.

     n1	-le n2
	     True if the integer n1 is algebraically less than or equal	to the
	     integer n2.

     These primaries can be combined with the following	operators:

     ! expression  True	if expression is false.

     expression1 -a expression2
		   True	if both	expression1 and	expression2 are	true.

     expression1 -o expression2
		   True	if either expression1 or expression2 are true.

     (expression)  True	if expression is true.

     The -a operator has higher	precedence than	the -o operator.

GRAMMAR	AMBIGUITY
     The test grammar is inherently ambiguous.	In order to assure a degree of
     consistency, the cases described in the IEEE Std 1003.2 ("POSIX.2"), sec-
     tion D11.2/4.62.4,	standard are evaluated consistently according to the
     rules specified in	the standards document.	 All other cases are subject
     to	the ambiguity in the command semantics.

RETURN VALUES
     The test utility exits with one of	the following values:

     0	     expression	evaluated to true.

     1	     expression	evaluated to false or expression was missing.

     >1	     An	error occurred.

SEE ALSO
     expr(1), sh(1)

STANDARDS
     The test function is expected to be IEEE Std 1003.2 ("POSIX.2") compati-
     ble.

BSD				 May 31, 1993				   BSD

NAME | SYNOPSIS | DESCRIPTION | GRAMMAR AMBIGUITY | RETURN VALUES | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=test&sektion=1&manpath=FreeBSD+3.2-RELEASE>

home | help