一、要点:
1、shell bc命令选项scale:可以设置计算结果的小数位数;但是scale只对除法、取余、乘幂有效,对乘法就无效。
在shell脚本中,bc 引用格式为variable=$(echo “options; expression” | bc);第一部分options允许你设置变量。如果你需要不止一个变量,可以用分号将其分开。expression参数定义了通过bc执行的数学表达式。
#!/bin/bash
# 测试bc命令在内联输入重定向下的使用
var1=3.14
var2=2.5
var3=16
var4=2.7
var5=$(bc << EOF
scale = 4
a1 = ( $var1 * $var2)
a2 = ($var3 * $var4)
a1 + a2
EOF
)
echo var5 = $var5
#EOF字符串标识了重定向给bc命令的数据的起止。
#当然,必须用美刀符$(xxx)来标识出用来给变量赋值的命令。
2、变量运算格式三种方式一样,推荐中括号的方式:i=$[j+k];((i=j+k)) ; i=expr $j + $k
;
test:
#!/bin/bash
j=10
k=11
i=0
i=$[j+k]
echo "stat 1: $i"
i=0
((i=j+k))
echo "stat 2: $i"
i=0
i=`expr $j + $k`
echo "stat 3: $i"
p