shell中的数学计算
一、使用方括号
#!/bin/bash a=10 b=29 c=88 res=$[$a * ($c-$b)] echo $res
二、bc的用法
bc技术器实际上是一种编程语言,它可以识别:
数字(整数和浮点数)
变量(简单变量和数组)
注释(以#或C语言中的/* */开始的行)
表达式
编程语句(例如if-then语句)
函数
浮点运算是由内建变量scale控制的。必须将这个值设置为你希望在计算结果中保留的小数
位数,否则无法得到期望的结果。
$ bc -q 3.44 / 5 0 scale=4 3.44 / 5 .6880 quit $
bc还能支持变量:
$ bc -q var1=10 var1 * 4 40 var2 = var1 / 5 print var2 2 quit $
脚本中使用bc:
方式一:
variable=$(echo "options; expression" | bc)
实例:
#!/bin/bash var1=$(echo "scale=4; 3.44 / 5" | bc) echo The answer is $var1
方式二,使用内联输入,格式:
variable=$(bc << EOF
options
statements
expressions
EOF
)
var1=10.46 var2=43.67 var3=33.2 var4=71 var5=$(bc << EOF scale = 4 a1 = ( $var1 * $var2) b1 = ($var3 * $var4) a1 + b1 EOF )