2019-12-09bash脚本编程——条件判断(整数测试),算术运算,组合测试条件

条件判断

条件判断类型

  1. 整数测试
    https://www.jianshu.com/p/fd9c7ad121ee
  2. 字符测试
    https://www.jianshu.com/p/1b14443c4d2c
  3. 文件测试
    https://www.jianshu.com/p/0a4cf0d9eb0f

条件测试表达式

[ expression ]——中括号与expression之间必须有空格
[[ expression ]]——中括号与expression之间必须有空格
test expression

命令间逻辑关系

  • 逻辑与:&&
    ①第一个条件为假时,第二条件不用再判断,最终结果已经为0。
    ②第一个条件为真时,第二个条件需要继续进行判断。
  • 逻辑或:||
    ①第一个条件为假时,第二个条件需要继续进行判断。
    ②第一个条件为真时,第二条件不用再判断,最终结果已经为1。
  • 逻辑非:!
    ①使用!时,符号!后必须空一格

整数比较(整数测试)

符号 含义 例子
-eq 测试两个整数是否相等 [ $A -eq $B ]
-ne 测试两个整数是否不等 [ $A -ne $B ]
-gt 测试一个数是否大于另一个数 [ $A -gt $B ]
-lt 测试一个数是否小于另一个数 [ $A -lt $B ]
-ge 大于或等于 [ $A -ge $B ]
-le 小于或等于 [ $A -le $B ]
  • 注意:[]与内容前后各有一个空格

if语句

①单分支if语句

if 判断语句;then
    statement1
    statement2
fi

②双分支if语句

if 判断条件;then
    statement1
    statement2
else
    statement3
    statement4
fi

③多分支的if语句

if 判断条件1;then
   statement1
   ···
elif 判断条件2;then
    statement2
    ···
elif 判断条件3;then
    statement3
    ···
else
    statement4
    ···
fi

算术运算

  1. let 算术运算表达式
    例如:let c=$A+$B
    注意
    ①let A+=C;A=A+C(-=,/=,%=,*=)
  2. $[算术运算表达式]
    例如:c=$[$A+$B]
  3. $((算术运算表达式))
    例如:c=$(($A+$B))
  4. expr 算术运算表达式
    注意
    ①表达式中各操作数及运算符之间要有空格
    ②expr及后面的算术运算表达式要使用命令引用
    例如:C=`expr $A + $B`(C=$(expr $A + $B))
  5. 使用bc做精确运算
echo "scale=2;111/22" | bc//精度为小数点之后两位
bc<<<"scale=2;111/22"

组合测试条件

选型 作用 用法 等同于
-a 与关系 [ $# -gt 1 -a $# -ls 3] [ $# -gt 1] && [ $# -lt 3 ]
-o 或关系 [ $# -gt 1 -o $# -ls 3 [ $# -gt 1] || [ $# -lt 3 ]
非关系 [ ! (条件) ]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。