在Bash中, bash的數學運算有點別扭,很難適應和記住, 只好寫個博文, 方便以后翻翻看. 有四種方式可以進行數學運算:
一、let命令
echo $sum
#自增
let sum++
#自減
let sum--
#簡寫形式
let sum+=1
let sum-=2
#順便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很爛有沒有!
二、 $[]形式
#[]也使用變量
num1=11
num2=22
sum=$[$num1+$num2]
三、 $(())方式
# $(())里可以使用()進行優先級運算安排
sum=$(( (1+2)*3 ))
echo $sum #9
四、 另外還可以使用expr命令, 這個命令需要操作數與操作符號有空
sum=`expr 33 + 44`#33后有空格, "+" 后有空格, 要是寫的是 sum=`expr 3+4`, echo $sum將會是33+44
echo $sum #77
上面4種方式不支持浮點數運算,要進行浮點數運算的話, 應該使用bc命令,語法格式比較簡單:
sum=`echo 222.222+333.333 | bc`
echo $sum
#sum=`echo 12.228222+(22222*2) | bc`居然不行, 果斷鄙視之.
新聞熱點
疑難解答