第211页 | Learning the Bash Shell | 阅读 ‧ 电子书库

同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库

Test Operators

Table B-6 lists the operators that are used with test and the [...] and [[...]] constructs. They can be logically combined with -a ("and") and -o ("or") and grouped with escaped parenthesis (\( ... \)). The string comparisons < and > and the [[...]] construct are not available in versions of bash prior to 2.0.

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[3]

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

[3] Only available in bash version 3.0 and later. May only be used inside [[...]].

请支持我们,让我们可以支付服务器费用。
使用微信支付打赏


上一页 · 目录下一页


下载 · 书页 · 阅读 ‧ 电子书库