目录
1、整数运算
a=3
b=4
((c=a+b))
echo c=${c}
let d=a-b
echo d=${d}
e=$(expr ${a} \* ${b})
echo e=${e}
f=$[${a}**${b}]
echo f=${f}
ff=$[a**b]
echo ff=${ff}
最终结果如下:
c=7
d=-1
e=12
f=81
ff=81
上面分别给了4种方式,下面分别介绍
1.1 (())形式
该种情况只支持整数运算,运算式不需要$
1.2 let
该情况也不需要'$',是较为简单的写法,推荐
1.3 expr
需要将expr的结果转为变量才能赋值给右边;乘法‘*’运算符还要加转义符;运算符两边需要空格;需要'$'
1.4 $[]
中括号中可以加'$'也可以不用
2.浮点数运算
2.1 使用bc工具
bc工具是linux下的计算器,同时也可以接受命令行
echo "scale=2;355/113"|bc #保留两位小数
3.14
其中scale表示保留多少小数位,bc并不是所有系统中预装,如果没有需要安装
2.2 使用awk命令
1、建议在awk中引用shell变量,使用格式:" ‘$var’ "或者’ “$var” '
2、awk使用print函数进行运算
3、awk使用printf函数控制运算结果的小数点位数
a=5;b=3;awk 'BEGIN{print "'$a'" / "'$b'"}'
1.66667
a=5;b=3
echo "$a $b" |awk '{printf("%.2f",$1/$2)}' #首先使用echo输出变量,然后通过$1,$2,...引用变量值
1.67
a=5;b=3
awk 'GEGIN{printf("%.2f",'$a' / '$b')}' #直接引用变量,用单引号将变量引起来