精简!!SHELL条件语句,if、case用法

一、条件测试

1.条件测试操作

要使 Shell 脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时表示成功,否则(非 0 值)表示失败或异常。使用专门的测试工具——test 命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立)。

test命令格式:

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

2.文件测试与整数测试

文件测试格式:

[操作符文件或目录]

文件测试指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否 可读、可写、可执行等。文件测试的常见操作选项如下,使用时将测试对象放在操作选项之 后即可。

选项用途
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-f测试是否为文件(File)
-r测试当前用户是否有权限读取(Read)
-w测试当前用户是否有权限写入(Write)
-x测试是否设置有可执行(Excute)权限

####整数值比较格式:

[整数1 操作符 整数2]

常用的测试操作符含义
-eq等于(Equal)
-ne不等于(Not Equal)
-gt大于(Greater Than)
-lt小于(Lesser Than)
-le小于或等于(Lesser or Equal)
-ge大于或等于(Greater or Equal)

3.字符串测试与逻辑测试

字符串比较格式:

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

常用的测试操作符含义
=字符串内容相同
!=字符串内容不同,!号表示相反的意思
-Z字符串内容为空
逻辑测试格式:

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

常用的测试操作符含义
-a或&&逻辑与,"而且”的意思
-o或||逻辑或,“或者” 的意思
!逻辑否

二、if语句

1.if单分支语句

格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5G8x2qHx-1597991608172)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991219155.png)]

流程图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e8XvXMxq-1597991608174)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991310442.png)]

2.if双分支语句

格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYtRg2Zv-1597991608175)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991359026.png)]

流程图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZeJgpNNn-1597991608177)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991373691.png)]

3.if多分支语句

格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTlyvHgR-1597991608178)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991396758.png)]

流程图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7xWpANpF-1597991608179)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991414464.png)]

三、case分支语句

case 语句主要适用于以下情况:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况与多分支的 if 语句非常相似,只不过 if 语句需要判断多个不同的条件,而 case 语句只是判断一个变量的不同取值。

格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTROPkEM-1597991608180)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991493822.png)]

流程图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixmoy4hY-1597991608181)(C:\Users\LTP\AppData\Roaming\Typora\typora-user-images\1597991506473.png)]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值