shell判断语句的含义
时间:2010-02-24 来源:wangchenxicool
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等…
通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
条件类型可以归为三类:字符串比较、算术比较和与文件有关的条件测试,分别总结如下: 表 1 ———————————————————————————————————————————————— 字符串比较 结果 ----------------------------------------------------------------------------------- string1 = string2 如果两个字符串相同则结果为真 string1 != string2 如果两个字符串不同则结果为真 -n string 如果字符串不为空则结果为真 -z string 如果字符串为空(一个空串)则结果为真 ———————————————————————————————————————————————— 表 2 ———————————————————————————————————————————————— 算术比较 结果 ----------------------------------------------------------------------------------- expression1 -eq expression2 如果两个表达式相等则结果为真 expression1 -ne expression2 如果两个表达式不等则结果为真 expression1 -gt expression2 如果expression1大于expression2则结果为真 expression1 -ge expression2 如果expression1大于或等于expression2则结果为真 expression1 -lt expression2 如果expression1小于expression2则结果为真 expression1 -le expression2 如果expression1小于或等于expression2则结果为真 !expression 如果表达式为假,则结果为真,反之亦然 ———————————————————————————————————————————————— 表 3 ———————————————————————————————————————————————— 文件条件比较 结果 ----------------------------------------------------------------------------------- -d file 如果文件是一个目录则结果为真 -e file 如果文件存在则结果为真。通常使用-f选项 -f file 如果文件是一个普通文件则结果为真。 -g file 如果文件的SGID位被设置则结果为真。 -r file 如果文件可读则结果为真。 -w file 如果文件可写则结果为真。 -x file 如果文件可执行则结果为真。 -s file 如果文件的长度不为0则结果为真。 -u file 如果文件的SUID位被设置则结果为真。
通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
条件类型可以归为三类:字符串比较、算术比较和与文件有关的条件测试,分别总结如下: 表 1 ———————————————————————————————————————————————— 字符串比较 结果 ----------------------------------------------------------------------------------- string1 = string2 如果两个字符串相同则结果为真 string1 != string2 如果两个字符串不同则结果为真 -n string 如果字符串不为空则结果为真 -z string 如果字符串为空(一个空串)则结果为真 ———————————————————————————————————————————————— 表 2 ———————————————————————————————————————————————— 算术比较 结果 ----------------------------------------------------------------------------------- expression1 -eq expression2 如果两个表达式相等则结果为真 expression1 -ne expression2 如果两个表达式不等则结果为真 expression1 -gt expression2 如果expression1大于expression2则结果为真 expression1 -ge expression2 如果expression1大于或等于expression2则结果为真 expression1 -lt expression2 如果expression1小于expression2则结果为真 expression1 -le expression2 如果expression1小于或等于expression2则结果为真 !expression 如果表达式为假,则结果为真,反之亦然 ———————————————————————————————————————————————— 表 3 ———————————————————————————————————————————————— 文件条件比较 结果 ----------------------------------------------------------------------------------- -d file 如果文件是一个目录则结果为真 -e file 如果文件存在则结果为真。通常使用-f选项 -f file 如果文件是一个普通文件则结果为真。 -g file 如果文件的SGID位被设置则结果为真。 -r file 如果文件可读则结果为真。 -w file 如果文件可写则结果为真。 -x file 如果文件可执行则结果为真。 -s file 如果文件的长度不为0则结果为真。 -u file 如果文件的SUID位被设置则结果为真。
相关阅读 更多 +