| Operator |
True if... |
| -a file |
file exists. (Obsolete. -e is
preferred.)
|
| -b file |
file is a block device file. |
| -c file |
file is a character device file. |
| -C file |
file is a contiguous file. (Not for most
Unix versions.)
|
| -d file |
file is a directory. |
| -e file |
file exists. |
| -f file |
file is a regular file. |
| -g file |
file has its setgid bit set. |
| -G file |
file's group ID is the same as the effective
group ID of the shell.
|
| -h file |
file is a symbolic link. |
| -k file |
file has its sticky bit set. |
| -l file |
file is a symbolic link.
(Only works on systems where /bin/test -l tests
for symbolic links.)
|
| -L file |
file is a symbolic link. |
| -n string |
string is non-null. |
| -o option |
option is set. |
| -O file |
file is owned by the shell's effective user ID. |
| -p file |
file is a pipe or named pipe (FIFO file). |
| -r file |
file is readable. |
| -s file |
file is not empty. |
| -S file |
file is a socket. |
| -t N |
File descriptor N points to a terminal. |
| -u file |
file has its setuid bit set. |
| -w file |
file is writable. |
| -x file |
file is executable, or file is a
directory that can be searched.
|
| -z string |
string is null. |
| fileA -nt fileB |
fileA is newer than fileB,
or fileB does not exist.
|
| fileA -ot fileB |
fileA is older than fileB,
or fileB does not exist.
|
| fileA -ef fileB |
fileA and fileB point to
the same file.
|
| string = pattern |
string matches pattern
(which can contain wildcards).
Obsolete; == is preferred.
|
| string == pattern |
string matches pattern
(which can contain wildcards).
|
| string != pattern |
string does not match pattern. |
| stringA < stringB |
stringA comes before stringB
in dictionary order.
|
| stringA > stringB |
stringA comes after stringB in
dictionary order.
|
| exprA -eq exprB |
Arithmetic expressions exprA and
exprB are equal.
|
| exprA -ne exprB |
Arithmetic expressions exprA and
exprB are not equal.
|
| exprA -lt exprB |
exprA is less than exprB. |
| exprA -gt exprB |
exprA is greater than exprB. |
| exprA -le exprB |
exprA is less than or equal to exprB. |
| exprA -ge exprB |
exprA is greater than or equal to exprB. |