在shell中算术运算方法有几种 1. expr 2. let 3.$[] 4.bc计算器
这里主要计算$[] 和 bc 计算器,因为这是我觉得好用的两种方式
方式一:$[]
注意:这种方式不支持浮点数运算
普通返回
vim test_yunsuan.sh
1 # /bin/bash
2 fund(){
3 a=1
4 b=2
5 echo $[1 + 2]
6 echo $[${a} + ${b}]
7 }
8 fund
运行
chmod 777 ./test_yunsuan.sh
./test_yunsuan.sh
运行结果如下:
3
3
返回元祖
1 # /bin/bash
2 fund(){
3 a=1
4 b=2
5 echo $[1 + 2]
6 echo $[${a} + ${b}]
7 }
8 res=(`fund`)
9 echo ${res[*]}
10 echo ${res[0]}
11 echo ${res[1]}
运行结果如下
3 3
3
3
浮点数运算报错
1 # /bin/bash
2 fund(){
1 # /bin/bash
2 fund(){
3 a1=100.12
4 b1=200.3
5 result=$[$a1+$b1]
6 echo ${result}
7 }
8 fund
输出结果 报错误
./test_yunsuan.sh: line 5: 100.12+200.3: syntax error: invalid arithmetic operator (error token is ".12+200.3")
1 # /bin/bash
2 fund(){
3 a1=3
4 b1=2
5 result=$[$a1/$b1]
6 echo ${result}
7 }
8 fund
输出结果 相当于地板除,小数不会进行约等于,直接舍弃
1
方式二: bc计算器 支持浮点数运算
进行浮点数运算使用 bc 计算器
a = 10
b = 3
res=`echo "scale=2; $a / $b " | bc`
echo $res
输出结果是 3.33
scale是保留有效数字
网友评论