shell条件语句
一、条件测试
test命令:
测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ] 条件表达式与中括号之间至少应有一个空格
二、文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
三、整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt: 大于(Greater Than)
-It:小于(Lesser Than)
-le: 小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
四、字符串比较
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2
[ -z 字符串 ]
常用的测试操作符
=:字符串内容相同
!=:字符串内容不同,!号表示相反的意思
-z:字符串内容为空
逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]
格式2:命令1 操作符 命令2
常用的测试操作符
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或, “或者”的意思
!:逻辑否
一元运算符:i=1
i++:i=$i+1 (i=++i先运算再赋值;i=i++先赋值在运算)
二元运算符
a+b=c
三元运算符
条件&&结果1||结果2
if语句的结构
1.单分支结构
2.双分支结构
3.多分支结构