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