设为首页 加入收藏

TOP

使用shell进行数学运算
2015-07-16 12:57:22 来源: 作者: 【 】 浏览:7
Tags:使用 shell 进行 数学 运算

可以利用 let、(())、[]进行基本的算术操作,高级操作使用bc更加高效。


直接看代码把,输出很清楚。


let
[linuxidc 22:17 ~]$ no1=4
[linuxidc 22:24 ~]$ no2=5
[linuxidc 22:24 ~]$ let result=no1+no2
[linuxidc 22:24 ~]$ echo $result
9
[linuxidc 22:24 ~]$ let result=result + 0.9 # 运算符两侧不能有空格
-bash: let: +: syntax error: operand expected (error token is "+")
[linuxidc 22:25 ~]$ let result=result+0.9 # 只能进行整数运算
-bash: let: result=result+0.9: syntax error: invalid arithmetic operator (error token is ".9")
[linuxidc 22:25 ~]$ echo $result
9
[]
[linuxidc 22:26 ~]$ result=$[no1+no2]
[linuxidc 22:27 ~]$ echo $result
9
[linuxidc 22:27 ~]$ result=$[no1+no2+1]
[linuxidc 22:27 ~]$ echo $result
10
(())
[linuxidc 22:28 ~]$ result=$((1+1))
[linuxidc 22:28 ~]$ echo $result
2
[linuxidc 22:28 ~]$ result=$(( 10 +1))
[linuxidc 22:29 ~]$ echo $result
11
bc
[linuxidc 22:29 ~]$ echo "4*3.5" | bc
14.0
[linuxidc 22:29 ~]$ echo "4*3.54" | bc
14.16
[linuxidc 22:30 ~]$ result=$(echo "$no1*0.44" | bc)? # 作为子shell计算结果
[linuxidc 22:30 ~]$ echo $result
1.76[linuxidc 22:30 ~]$ echo "scale=2;3/8" | bc # 设定小数精度
.37
[linuxidc 22:31 ~]$ echo "scale=4;3/8" | bc
.3750
[linuxidc 22:31 ~]$ echo "scale=6;3/8" | bc
.375000[linuxidc 22:31 ~]$ no=100
[linuxidc 22:33 ~]$ echo "obase=2;$no" | bc # 输出为2进制,默认输入进制为10进制
1100100
[linuxidc 22:33 ~]$ no=1100100
[linuxidc 22:33 ~]$ echo "obase=10;ibase=2;$no" | bc # 指明输出进制和输入进制
100[linuxidc 22:34 ~]$ echo "sqrt(100)" | bc
10
[linuxidc 22:35 ~]$ echo "10^10" | bc
10000000000


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android应用安全之数据传输安全 下一篇Java: 使用信号量(Semaphore)保护..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: