TEST("1") manual page
Table of Contents
test - check file types and compare values
test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION
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 bugs to <bug-coreutils@gnu.org>.
Copyright © 2008 Free Software
Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it. There
is NO WARRANTY, to the extent permitted by law.
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.
Table of Contents