通过shell进行数学运算
可以用普通的变量赋值方法定义数值,这时会被存储为字符串,但是我们可以像数字一样处理。
在bash shell环境中,可以利用let、( )、[ ]、执行基本的算数操作。
let a+=6
let a-=6
等同于
let a=a+6
let a=a-6
操作符[ ]使用方法
a=$[1+1]
在[]中也可以使用$
a=$[$a+1]
expr使用方法:
result='expr 3+3'
result=$(expr $nol+5)
但是以上的方法只能用于整数运算,而不支持浮点数
bc
bc是一个用于数学运算的高级工具,包含了大量选项
其他参数可以置于要置于要执行的具体操作
设定小数精度
echo "scale=2;3/8" | bc
0.37
参数scale=2将小数个位设置为2,所以将会输出带有两个小数位的数值
进制转换
#!/bin/bash
no=100
echo "obase=2;$no" | bc
#输出为1100100
#!/bin/bash
no=1100100
echo “obase=10;ibase=2;$no” | bc
#输出为100
计算平方和平方根
#!/bin/bash
echo "sqrt(100)" | bc #Square root
#100的平方根
#!/bin/bash
echo "10^10" | bc #Square
#10的平方