shell变量的数值计算
shell中常见的算术运算命令如下
1、(()) 用于整数运算的常用运算符,效率很高
2、let 用于整数运算,类似于 (())
3、expr 可用于整数计算,但还有很多其他的额外功能
4、bc linux 下的一个计算器程序
5、$[] 用于整数运算
6、awk 即可用于整数计算,也可以用小数运算
7、declare 定义变量和属性, -i 参数可以用于定义整数变量,做运算
[root@backup ~]# echo $((1+1))
2
[root@backup ~]# i=2
[root@backup ~]# let i=i+8 #等同于((i=i+8))
[root@backup ~]# echo $i
10
[root@backup ~]# cat 2.sh #!/bin/bash Check_url(){ timeout=5 fails=0 success=0 while true do wget --timeout=$timeout --tries=1 http://www.163.com -q -O /dev/null if [ $? -ne 0 ];then let fails=fails+1 #等同于 ((fails=fails+1)) else let success+=1 fi if [ $success -ge 2 ];then echo success exit 0 fi if [ $fails -ge 2 ];then echo fails fi done } Check_url [root@backup ~]# sh 2.sh success
expr 即可以用于整数运算,也可以于相关字符串长度,匹配等的运算处理
[root@backup ~]# expr 2 + 2 #运算符及用于计算的数字作用都需要至少一个空格
4
[root@backup ~]# vim 2.sh #!/bin/bash while true do read -p "pls input: " a expr $a + 1 &>/dev/null if [ $? -eq 0 ];then echo int else echo chars fi done [root@backup ~]# sh 2.sh pls input: 3 int pls input: aaaa chars