在Bash中, bash的數(shù)學(xué)運(yùn)算有點(diǎn)別扭,很難適應(yīng)和記住, 只好寫(xiě)個(gè)博文, 方便以后翻翻看. 有四種方式可以進(jìn)行數(shù)學(xué)運(yùn)算:
#/bin/bash
num1=13
num2=14
let sum=$num1+$num2
echo $sum
#自增
let sum++
#自減
let sum--
#簡(jiǎn)寫(xiě)形式
let sum+=1
let sum-=2
#順便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很爛有沒(méi)有!
#!/bin/bash
sum = $[99+88]
#[]也使用變量
num1=11
num2=22
sum=$[$num1+$num2]
#!/bin/bash
sum=$((1+2))
# $(())里可以使用()進(jìn)行優(yōu)先級(jí)運(yùn)算安排
sum=$(( (1+2)*3 ))
echo $sum #9
#!/bin/bash
expr 3 + 4 #7
sum=`expr 33 + 44`#33后有空格, "+" 后有空格, 要是寫(xiě)的是 sum=`expr 3+4`, echo $sum將會(huì)是33+44
echo $sum #77
上面4種方式不支持浮點(diǎn)數(shù)運(yùn)算,要進(jìn)行浮點(diǎn)數(shù)運(yùn)算的話, 應(yīng)該使用bc命令,語(yǔ)法格式比較簡(jiǎn)單:
#!/bin/bash
sum=`echo 222.222+333.333 | bc`
echo $sum
#sum=`echo 12.228222+(22222*2) | bc`居然不行, 果斷鄙視之.