test − check file types and compare values |
test EXPRESSION [ EXPRESSION ] |
Exit with the status determined by EXPRESSION. |
−−help |
display this help and exit |
−−version |
output version information and exit |
An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: |
( EXPRESSION ) |
EXPRESSION is true |
! EXPRESSION |
EXPRESSION is false |
EXPRESSION1 −a EXPRESSION2 |
both EXPRESSION1 and EXPRESSION2 are true |
EXPRESSION1 −o EXPRESSION2 |
either EXPRESSION1 or EXPRESSION2 is true |
−n STRING |
the length of STRING is nonzero |
STRING |
equivalent to −n STRING |
−z STRING |
the length of STRING is zero |
STRING1 = STRING2 |
the strings are equal |
STRING1 != STRING2 |
the strings are not equal |
INTEGER1 −eq INTEGER2 |
INTEGER1 is equal to INTEGER2 |
INTEGER1 −ge INTEGER2 |
INTEGER1 is greater than or equal to INTEGER2 |
INTEGER1 −gt INTEGER2 |
INTEGER1 is greater than INTEGER2 |
INTEGER1 −le INTEGER2 |
INTEGER1 is less than or equal to INTEGER2 |
INTEGER1 −lt INTEGER2 |
INTEGER1 is less than INTEGER2 |
INTEGER1 −ne INTEGER2 |
INTEGER1 is not equal to INTEGER2 |
FILE1 −ef FILE2 |
FILE1 and FILE2 have the same device and inode numbers |
FILE1 −nt FILE2 |
FILE1 is newer (modification date) than FILE2 |
FILE1 −ot FILE2 |
FILE1 is older than FILE2 |
−b FILE |
FILE exists and is block special |
−c FILE |
FILE exists and is character special |
−d FILE |
FILE exists and is a directory |
−e FILE |
FILE exists |
−f FILE |
FILE exists and is a regular file |
−g FILE |
FILE exists and is set−group−ID |
−G FILE |
FILE exists and is owned by the effective group ID |
−h FILE |
FILE exists and is a symbolic link (same as −L) |
−k FILE |
FILE exists and has its sticky bit set |
−L FILE |
FILE exists and is a symbolic link (same as −h) |
−O FILE |
FILE exists and is owned by the effective user ID |
−p FILE |
FILE exists and is a named pipe |
−r FILE |
FILE exists and read permission is granted |
−s FILE |
FILE exists and has a size greater than zero |
−S FILE |
FILE exists and is a socket |
−t FD |
file descriptor FD is opened on a terminal |
−u FILE |
FILE exists and its set−user−ID bit is set |
−w FILE |
FILE exists and write permission is granted |
−x FILE |
FILE exists and execute (or search) permission is granted |
Except for −h and −L, all FILE−related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be −l STRING, which evaluates to the length of STRING. NOTE: [ honors the −−help and −−version options, but test does not. test treats each of those as it treats any other nonempty STRING. NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports. |
Written by Kevin Braunsdorf and Matthew Bradburn. |
Report test bugs to bug−coreutils@gnu.org |
Copyright © 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>. |
The full documentation for test is maintained as a Texinfo manual. If the info and test programs are properly installed at your site, the command |
info coreutils 'test invocation' |
should give you access to the complete manual. |