您的位置:首页 > 运维架构 > Shell

shell 之进行数学运算 let expr bc 中括号

2015-09-29 21:35 736 查看
在 bash shell 中 ,使用 let (( )) 和 [ ] 执行基本的算术操作 ,而进行高级操作时 , expr 和 bc 这两个工具也会经常用到。

let

直接上例子

#!/bin/bash
no1=4;
no2=5;
let result=no1+no2
echo $result


自加操作 和自减操作

#!/bin/bash
no1=10;
let no1++
echo $no1
let no1--
echo $no1


简写形式

#!/bin/bash
no1=10
let no1+=5
echo $no1
let no1-=6
echo $no1


[ ]

操作符 [ ] 的用法和 let 命令类似

#!/bin/bash
no1=2
no2=3
result=$[ no1 + no2 ]
echo $result
#也可以使用 $前缀
result=$[ $no1 + 5 ]
echo $result


expr

#!/bin/bash
no1=3
no2=4
result=`expr $no1 + $no2`
echo $result

result=`expr 5 + 10`
echo $result

result=$(expr $no1 + 5)
echo $result


以上方法只支持 证书 运算,不支持 浮点数运算

浮点数运算需要用到 bc

bc 用法范例

#!/bin/bash
echo '4 * 0.56' | bc


#!/bin/bash
no1=54
result=`echo "$no1 * 1.5" | bc`
执行 bc 命令时 可以传入参数 ,参数可以置于要执行的具体操作之前,同时以 分号 ; 作为定界符

设置小数精度

#!/bin/bash
echo 'scale=2;3/8' | bc


进制转换

#!/bin/bash
no=100
echo "obase=2;$no" | bc

no=1111
echo "obase=10;ibase=2;$no" | bc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: