3.运算符&条件判断

运算符

语法

  • “$((运算表达式))” 或 “$[运算表达式]”
  • expr +(加) , -(减) , \*(乘), /(除), %(余)

Demo

#1+1,注意运算符两侧空格
expr 1 + 1
#(1+1)*2 方式一
expr `expr 1 + 1` \* 2
#(1+1)*2 方式二
result=$[(1+1)*2]
echo $result
#(1+1)*2 方式三
result=$(((1+1)*2))
echo $result

条件判断

语法

[ condition ](注意condition前后要有空格)

注意:

​ 条件非空即为true,[ abc ]返回true,[] 返回false。

​ true = 0 、false =1

常用判断

两个整数之间比较

  • = 字符串比较
  • -lt 小于(less than)
  • -le 小于等于(less equal)
  • -eq 等于(equal)
  • -gt 大于(greater than)
  • -ge 大于等于(greater equal)
  • -ne 不等于(Not equal)

按照文件权限进行判断

  • -r 有读的权限(read)
  • -w 有写的权限(write)
  • -x 有执行的权限(execute)

按照文件类型进行判断

  • -f 文件存在并且是一个常规的文件(file)
  • -e 文件存在(existence)
  • -d 文件存在并是一个目录(directory)

Demo

#执行下面,判断字符串是否相等
[ 'a' = 'a1' ]
#查看
echo $?
#结果
1 #执行失败,两者不等
#****************************************
#执行下面,判断文件是否存在
[ -e test.sh ]
#****************************************
#多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)
[ condition ] && echo OK || echo notok
[ condition ] && [ ] || echo notok
posted @ 2022-03-27 13:49  RollBack2010  阅读(74)  评论(0编辑  收藏  举报