shell 包含三个命令:bc、expr、let可用于数值计算。
输入:整数,let和expr都无法进行浮点运算,但是bc和awk可以。
输出:bc、expr可直接显示计算结果;let则丢弃计算结果,可通过传递结果到变量,取变量值获得计算结果。
格式示例:
bc
[root@localhost ~]
305
[root@localhost ~]
295
[root@localhost ~]
1500
[root@localhost ~]
60
--------------------------------------------------------
expr
[root@localhost ~]
305
[root@localhost ~]
295
[root@localhost ~]
1500
[root@localhost ~]
60
------------------------------------------------------
let
[root@localhost ~]
[root@localhost ~]
305
[root@localhost ~]
[root@localhost ~]
295
[root@localhost ~]
[root@localhost ~]
1500
[root@localhost ~]
[root@localhost ~]
60
-----------------------------------------------------
经测试,bc允许运算量和运算符之间无空格,let 不允许有空格,expr运算量和运算符之间必须有空格。
[root@localhost ~]
-bash: let: =: syntax error: operand expected (error token is "=")
[root@localhost ~]
305
[root@localhost ~]
300+5
参考:
let的使用 http://www.cublog.cn/u/3374/showart_225918.html
expr字符处理 http://bkeep.blog.163.com/blog/static/123414290201054111712718/
expr乘法运算符 http://blog.163.com/lgh_2002/blog/static/44017526200911804630930/
shell数值运算多种方法 http://jidiblog.blog.51cto.com/140821/282481