在 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