shell浮點運算
bash內置了對整數四則運算的支持,但不支持浮點運算。
有兩種方法:
- 藉助bc(需系統安裝)
yms@ubuntu:~/sunrise/shell$ echo $((5-4)) 1 yms@ubuntu:~/sunrise/shell$ echo $((5.9-4.1)) -bash: 5.9-4.1: syntax error: invalid arithmetic operator (error token is ".9-4.1") yms@ubuntu:~/sunrise/shell$ c=$(echo 5.9-4.1 | bc) yms@ubuntu:~/sunrise/shell$ echo $c 1.8
- 使用awk printf
yms@ubuntu:~/sunrise/shell$ awk 'BEGIN{printf "%.2f\n",(5.9-4.1)}' 1.80
awk引用變量:’${val}’、‘“”${}“”’、 “’${}’”;推薦使用"’${}’",雙引號,單引號,變量,單引號,雙引號
#!/bin/bash
a=4.5
b=3.2
awk 'BEGIN{printf "%.2f\n",(4.5+3.2)}'
awk 'BEGIN{printf "%.2f\n",("'${a}'"+"'${b}'")}'
運行結果:
7.70
7.70