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多分支中实现不同成绩不同评价的案例
测试结果: