shell脚本:条件语句

导图

1.条件测试

1.1 test命令测试

格式1:test  条件表达式
格式2:[  条件表达式  ]

1.2 test操作符

-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-a:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L: 测试是否为软连接文件

 

 

 1.3 属性测试补充

-s FILE #是否存在且非空
-t fd #fd 文件描述符是否在某终端已经打开
-N FILE #文件自从上一次被读取之后是否被修改过
-O FILE #当前有效用户是否为文件属主
-G FILE #当前有效用户是否为文件属组

2.逻辑测试

2.1格式

格式1∶    [ 表达式1 ] 操作符 [ 表达式2 ]…
格式2∶     命令1      操作符    命令2…

 

2.2常见条件

  • -a或&&:逻辑与,“而且”的意思全真才为真

  • -o或||:逻辑或,“或者”的意思一真即为真

  • !:逻辑否

3.整数数值比较

3.1比较格式

[  整数1  操作符  整数2  ]  

 

3.2常用操作符

  • -eq:第一个数等于(Equal)第二个数

  • -ne:第一个数不等于(Not Equal)第二个数

  • -gt:第一个数大于(Greater Than)第二个数

  • -lt:第一个数小于(Lesser Than)第二个数

  • -le:第一个数小于或等于(Lesser or Equal)第二个数

  • -ge:第一个数大于或等于(Greater or Equal)第二个数

 

 

 

4.字符串比较

4.1格式

[  字符串1  =  字符串2 ]   //是否相同

[  字符串1  !=  字符串2 ]  //是否不相同

[  -z  字符串 ]    //是否为空

[  -n  字符串 ]   //字符是否存在

 

4.2常用操作符

  • =:字符串内容相同

  • !=:字符串内容不同,! 号表示相反的意思

  • -z:字符串内容为空

  • -n: 字符是否存在

 

 

 

5.if语句

5.1单分支

格式:
if 判断条件;                       //if表示开始
then   条件为真时 执行代码
fi                               //fi表示结束

5.1.1单分支流程图

 

 

 

5.2双分支

格式:
if 判断条件; then        
 条件为真时,执行的分支代码    

else
 条件为假时,执行的分支代码
fi

 

5.2.1双分支流程图

 

 

 

5.3多分支

格式:
if 判断条件1
then
 条件1为真时,执行的分支代码

elif 判断条件2
then
 条件2为真时,执行的分支代码

elif 判断条件3;then
 条件3为真时,执行的分支代码

...
else
 以上条件都为假时,执行的分支代码
fi

 

5.3.1多分支流程图

 

 

 

 

 

6.case语句

格式:
case 变量引用 in
PAT1)
 分支1
 ;;
PAT2)
 分支2
 ;;
...
*)
 默认分支
 ;;

 

 

posted @ 2022-11-01 22:45  索罗大魔王  阅读(120)  评论(0编辑  收藏  举报