2020年 · Linux · 点滴记录

shell数值计算(加减乘除)或将字符串转换成数字

shell 包含三个命令:bc、expr、let可用于数值计算。

输入:整数,let和expr都无法进行浮点运算,但是bc和awk可以。

输出:bc、expr可直接显示计算结果;let则丢弃计算结果,可通过传递结果到变量,取变量值获得计算结果。

bc 示例演示:
root@localhost:~# echo 300 + 5 |bc
305
root@localhost:~# echo 300 – 5 |bc
295
root@localhost:~# echo 300 /* 5 |bc
1500
root@localhost:~# echo 300 / 5 |bc
60
—————————————————–
expr 示例演示:
root@localhost:~# expr 300 + 5
305
root@localhost:~# expr 300 – 5
295
root@localhost:~# expr 300 /* 5
1500
root@localhost:~# expr 300 / 5
60
—————————————————–
let 示例演示:
root@localhost:~# let i=300+5
root@localhost:~# echo $i
305
root@localhost:~# let i=300-5
root@localhost:~# echo $i
295
root@localhost:~# let i=300/*5
root@localhost:~# echo $i
1500
root@localhost:~# let i=300/5
root@localhost:~# echo $i
60
—————————————————–
awk 示例演示(只是起到一个从字符串转换到整型的作用):
root@localhost:~# echo ‘111’ |awk ‘{print int($0)}’
111
root@localhost:~# cat version.txt |awk ‘{print int($0)}’
111
—————————————————–
经测试,bc允许运算量和运算符之间无空格,let 不允许有空格,expr运算量和运算符之间必须有空格。

转:https://blog.csdn.net/praylucky/java/article/details/6252963