Bash 做算术运算。
Floating Point
Bash 本身无法支持符点数运算,需要结合 bc
做:
# scale 表示精确到几位小数,不是四舍五入,而是直接字符串截断
$ echo "scale=2; 1/8" | bc
.12
$ bc <<< "scale=3; 12.2 * 8"
97.6
bc
对于小于 1 的浮点数,不输出小数点前的 0。可以用 printf
来输出:
$ printf "%.3f\n" "$(echo "scale=3; 1/8" | bc)"
0.125