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           
原文地址:https://www.cnblogs.com/hellojackyleon/p/9018255.html