Table B-6. Test operators
Operator
|
True if...
|
---|
-a file
|
file exists
|
-b file
|
file exists and is a block device file
|
-c file
|
file exists and is a character device file
|
-d file
|
file exists and is a directory
|
-e file
|
file exists; same as -a
|
-f file
|
file exists and is a regular file
|
-g file
|
file exists and has its setgid bit set
|
-G file
|
file exists and is owned by the effective group
ID
|
-h file
|
file exists and is a symbolic link
|
-k file
|
file exists and has its sticky bit set
|
-L file
|
file exists and is a symbolic link
|
-n string
|
string is non-null
|
-N file
|
file was modified since it was last read
|
-O file
|
file exists and is owned by the effective user ID
|
-p file
|
file exists and is a pipe or named pipe (FIFO
file)
|
-r file
|
file exists and is readable
|
-s file
|
file exists and is not empty
|
-S file
|
file exists and is a socket
|
-t N
|
File descriptor N points to a terminal
|
-u file
|
file exists and has its setuid bit set
|
-w file
|
file exists and is writeable
|
-x file
|
file exists and is executable, or
file is a directory that can be searched
|
-z string
|
string has a length of zero
|
fileA -nt
fileB
|
fileA modification time is newer than
fileB
|
fileA -ot
fileB
|
fileA modification time is older than
fileB
|
fileA -ef
fileB
|
fileA and fileB point to
the same file
|
stringA = stringB
|
stringA equals stringB
(POSIX version)
|
stringA == stringB
|
stringA equals stringB
|
stringA != stringB
|
stringA does not match
stringB
|
stringA =~ regexp
|
stringA matches the extended regular expression
regexp
|
stringA < stringB
|
stringA sorts before
stringB lexicographically
|
stringA > stringB
|
stringA sorts after stringB
lexicographically
|
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
|
exprA -a
exprB
|
exprA is true and exprB is
true
|
exprA -o
exprB
|
exprA is true or exprB is
true
|