Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ test(1L) — 386BSD 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

TEST(1L)

NAME

test − check file types and compare values

SYNOPSIS

test [expr]
test {−−help,−−version}

DESCRIPTION

This manual page documents the GNU version of test.  Note that most shells have a built-in command by the same name and with similar functionality. 

test returns a status of 0 (true) or 1 (false) depending on the evaluation of the conditional expression expr. Expressions may be unary or binary.  Unary expressions are often used to examine the status of a file.  There are string operators and numeric comparison operators as well.
 

−b file
True if file exists and is block special. 

−c file
True if file exists and is character special. 

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

−e file
True if file exists

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

−g file
True if file exists and is set-group-id. 

−k file
True if file has its “sticky” bit set. 

−L file
True if file exists and is a symbolic link. 

−p file
True if file exists and is a named pipe. 

−r file
True if file exists and is readable. 

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

−S file
True if file exists and is a socket. 

−t [fd]
True if fd is opened on a terminal.  If fd is omitted, it defaults to 1 (standard output). 

−u file
True if file exists and its set-user-id bit is set. 

−w file
True if file exists and is writable. 

−x file
True if file exists and is executable. 

−O file
True if file exists and is owned by the effective user id. 

−G file
True if file exists and is owned by the effective group id. 

file1 −nt file2
True if file1 is newer (according to modification date) than file2. 

file1 −ot file2
True if file1 is older than file2. 

file1 −ef file2
True if file1 and file2 have the same device and inode numbers. 

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

−n string

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

string1 = string2
True if the strings are equal.

string1 != string2
True if the strings are not equal.

! expr True if expr is false. 

expr1 −a expr2
True if both expr1 and expr2 are true. 

expr1 −o expr2
True if either expr1 or expr2 is true. 

arg1 OP arg2
OP is one of −eq, −ne, −lt, −le, −gt, or −ge.  These arithmetic binary operators return true if arg1 is equal, not-equal, less-than, less-than-or-equal, greater-than, or greater-than-or-equal than arg2, respectively.  arg1 and arg2 may be positive integers, negative integers, or the special expression −l string, which evaluates to the length of string.

OPTIONS

When GNU test is invoked with exactly one argument, the following options are recognized:

−−help
Print a usage message on standard output and exit successfully.

−−version
Print version information on standard output then exit successfully.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026