Shell 脚本条件判断的三中类型(备忘)
字符串比较: 结果
string1 = string2 string1等于string2:True, 否则False
string1 != string2 string1等于string2:False, 否则True
-n string string不等于null时:True,否则False
-z string string等于null时:True,否则False
算术比较 结果
expression1 -eq expression2 表达式相等:True,否则False
expression1 -ne expression2 表达式不相等:True,否则False
expression1 -gt expression2 表达式expression1 大于expression2时:True,否则False
expression1 -ge expression2 表达式expression1 大于等于expression2时:True,否则False
expression1 -lt expression2 表达式expression1 小于expression2时:True,否则False
expression1 -le expression2 表达式expression1 小于等于expression2时:True,否则False
! expression expression为True时,则为False,反之依然
文件条件 结果
-d file file是目录时:True,否则False
-e file 如果file存在:True,否则False 注意:历史原因-e选项不具有可移植性,因此使用-f来替代
-f file file存在:True,否则False
-g file 如果file被“set-group-id”设置时:True,否则False
-r file file是可读的:True,否则False
-s file file的size大于0:True,否则False
-u file file被“set-user-id"设置:True,否则False
-w file file可写:True,否则False
-x file file是可执行文件:True,否则False