专题(十五)数值运算及布尔运算

一、整数运算

1、知识点

运算符 说明
let 表示整数值自增、自减
(())

用于整数之间计算的常用的运算符,双括号之间可以 如下计算:

+、-、:代表着加号 和减号 或者,负号

*、/、%:代表着乘号,除号,和取模。

**   : 幂运算

++、-- :表示着增加或者减少,它可以放在前置,也可以放在变量的结尾

!、||、&&、(取反)(或) (and)

<、<=、>、>=  :比较符号,小于、小于等于、大于、大于等于

==、!=、= :相等,不相等, =表示相等于

<<     >>  向左移动 向右移动

2、示例

1)  整数自增/自减

#!/bin/bash

count=1
let count++
echo $count
let count--
echo $count

 2) 使用 (()) 进行整数值计算

  • ((var=计算))  表示把计算后的结果赋值给 var 这个变量
  • $((var=计算))  表示把计算后的结果赋值给 var 这个变量,同时将结果返回出来,使用 $ 时左侧要么是 echo ,要么是  var2=  表示将结果再次赋值给了 var2 变量
#!/bin/bash
a=1
b=2
if (( a > b ));then
  echo "a>b"
else
  echo "a<b"
fi

$((a=a+1))     #不合法,$(()) 返回的结果必须赋值给另外一个变量或者通过 echo 显示到界面上,但是这里((a=a+1))还是正常计算的
echo $a

((a=a+1))    #a加1
echo $a

a=$((a=a+1))  #a加1 ,同时将结果返回有赋值给了a
echo $a
echo $((a=a+1)) # a加1,并将结果返回输出到控制台上

  •  条件成立返回0,不成立返回1
#!/bin/bash
a=1
((a=1+2**3-4%3))
echo $a

if ((8>7&&5==5));then
 echo "条件成立"
else
 echo "条件不成立"
fi

echo $((1>2))    #控制台显示的 0
echo $((1<2))    # 在控制台显示的 1

 二、布尔运算

1、知识点

   1)shell 中的变量可以直接 设置 boolean 值 ,true 或 false

   2)bollean 变量的 true / false 条件判断,需要使用 == 或 != 进行判断

2、示例

#!/bin/bash

boolean_test()
{
  boolean_var=$1
  if [ -z $boolean_var ] || [[ $boolean_var == false ]];then
      echo "param does not exit or value is false"
  else
      echo "param value is true"
  fi
}

boolean_test true
boolean_test false
boolean_test

 其中:

      -z 可以判断变量有没有存在,或变量的值存不存在,根据以上示例,若:在函数 boolean_test 中没有定义 boolean_var 这个变量,直接 -z $boolean_var 也是可以判断的。

参考资料:

https://www.jb51.net/article/134292.htm

  

  

 

原文地址:https://www.cnblogs.com/sandyflower/p/15399167.html