运算符

描述

示例

文件比较运算符

[-e file]

如果文件存在,则为真

 eg:[ -e /etc/passwd ]  

[-d file]

如果为目录,则为真

 eg:[ -d /etc ]  

[-f file]

如果为常规文件,则为真

 eg:[ -f /etc/passwd ]

[-L file]

如果为符号链接,则为真

eg:[ -L  /etc/passwd ]

[-r file]

如果为可读,则为真

eg:[ -r  /etc/passwd  ]

[-w file]

如果为可写,则为真

eg:[ -w  /etc/passwd  ]

[-x file]

如果为可执行,则为真

eg:[ -L /etc/passwd  ]

[file1-nt file2]

如果 file1比 file2新,则为真

eg:[ /etc/passwd  -nt /etc/passwd ]

[file1-ot file2]

如果 file1比 file2旧,则为真

eg:[ /etc/passwd -ot /etc/passwd]

字符串比较运算符 

[-z 字符串]或[-z 变量]

如果 str长度为零,则为真

eg:[ -z "$str" ]

[-n 字符串]或[-n 变量]

如果 str长度非零,则为真

eg:[ -n "$tr" ]

[字符串1= 字符串2]

如果 str1与 str2相同,则为真

eg:[ "$str" = "this is a string" ]

[字符串1!= 字符串2]

如果 str1与 str2不同,则为真

eg:[ "$str" != "this is a string" ]

算术比较运算符

[num1-eq num2]

等于

eg:[ 1 -eq $num ]

[num1-ne num2]

不等于

eg:[ 2 -ne $num ]

[num1-lt num2]

小于

eg:[ 3 -lt $mnum ]

[num1-le num2]

小于或等于

eg:[ 4 -le $num ]

[num1-gt num2]

大于

eg:[ 5 -gt $num ]

[num1-ge num2]

大于或等于

eg:[ 6 -ge $num ]