shell脚本中的条件测试和条件语法

1.条件测试的语法 

1.1 引言 
在shell脚本中进行条件判断的两种通式:
方式一: test 表达式
方式二: [ 表达式 ] 两边要有空格
在Java中有boolean值来帮助我们识别逻辑判断条件的真假,在shell脚本中通过特俗变量$?同样能够达
到判断上一命令执行的状态是否成功(返回码 0 为执行成功!非0则为执行异常! )
1.2 文件测试操作符

运用演示:

该测试总结: 运用文件测试符到测试通式子,结合$?的返回值,可以准确且快速的得出我们想要的文件 属性结果和是否存在。当然在命令环境下,显得没有什么作用,但是在脚本环境,可以作为很多判断条 件和执行条件

1.3 整数值的比较
操作符:

运用演示:

该测试总结:运算符在if条件中,起到了判断左右边值关系的作用。根据关系分析相对应的结果

1.4 字符串比较

运用演示:

1.5 浮点运算 (小数运算)
方式一 :  echo "浮点运算字符串" | bc
方式二: awk 'BEGIN {print 浮点运算字符串}' 

1.6 逻辑测试

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

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


1.6.1 二元运算式 

[ 表达式1 ] && [ 表达式2 ] 等同于 [ 表达式1 -a 表达式2 ] [[ 表达式1 && 表达式2 ]]
 [ 表达式1 ] || [ 表达式2 ] 等同于 [ 表达式1 -o 表达式2 ] [[ 表达式1 || 表达式2 ]]

1.6.2 三元表达式 

[ 表达式 ] && a || b
当表达式为真时,取a值;当表达式为假时,取b值。


 
2. if的条件语句的语法 

2.1 if的单分支 

格式:

运用演示:
需求:写一个能够启动就能监视/boot目录剩余空间的百分比的脚本,并且当空闲率达到百分之八十时就能够发出报警提示

结果输出:

2.2 if双分支语句 

格式:

运用演示:
需求:写一个判断当前目录下中是否存在一个test.sh的文件

结果:

2.3 if多分支语句

格式:

运用演示:

需求:写一个分析不同阶段分数应该得到不同的评价的shell脚本

结果:

3.case语句

格式:

运行演示:

if多分支中实现不同成绩不同评价的案例

测试结果:

总结

1. 引用变量字符串时,给变量加上引号,避免引起歧义

2.awk 进行浮点运算时,被赋值的变量,应用用单引号

3. 多条件需要不同结果时,可以运用多分支if来解决。

4.合理利用if语句,嵌套过多的if语句,影响代码运行的速率。

5.注意代码的格式,便于维护和优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值