shell算数运算
作者:互联网
整数运算
命令方式
运算符方式
$((运算式))
或$[运算式]
a=1
b=2
c=$(($a + $b))
d=$[$a + $b]
浮点运算
shell/bash不支持浮点运算,如果需要进行浮点运算,需要借助awk或bc处理。
awk
# 加
f=$(awk 'BEGIN{print 4.5+3.4 }')
echo ${f}
# 减
f=$(awk 'BEGIN{print 4.5-3.4 }')
echo ${f}
# 乘
f=$(awk 'BEGIN{print 4.5*3.4 }')
echo ${f}
# 除
f=$(awk 'BEGIN{print 4.5/3.4 }')
echo ${f}
# 混合
f=$(awk 'BEGIN{print (4.5-3.4)*2+3 }')
echo ${f}
# 传递外部变量
f=$(awk -v x=var1 -v y=var2 'BEGIN{print x+y }')
echo ${f}
# awk判断小数点后的位数
num=6.6666; echo $num | awk 'BEGIN{FS="."}{print length($2)}'
# 比较大小(如果num1>num2打印输出0,否则输出1)
awk -v num1=6.6 -v num2=5.5'BEGIN{print(num1>num2)?"0":"1"}'
bc
# 加
f=$(echo "4.3+2.5"|bc)
echo ${f}
# 减
f=$(echo "4.3-2.5"|bc)
echo ${f}
# 乘
f=$(echo "4.30*2.50"|bc)
echo ${f}
# 除
f=$(echo "4.3/2.5"|bc)
echo ${f}
# 混合运算
f=$(echo "2.2/(2.2-1.1)*2+1.1"|bc)
echo ${f}
变量声明为数字
标签:BEGIN,shell,运算,bc,echo,3.4,awk,算数,print 来源: https://www.cnblogs.com/sinicheveen/p/16502112.html