shell脚本中用到的计算

let、$(())、$[]、expr、bc

let

num=10
let num=$num+6;echo $num
#let命令中等号右边可以没有美元符号
let num=num-6;echo $num  
#+=、-=、*=、/= % 自加、自减、自乘、自除 取模
let num+=6;echo $num  //
let num%6;echo $num

注意:$(())和$[]可以直接使用在命令中,而let则不行

$(()),$[]

num=10
echo $num
#也可以num=$((num+=6))
num=$((num+6));echo $num  
num=$[num-6];echo $num

expr

expr可以对数字进行基本运算,也可以做比较,还可以对字符串进行操作。

首先使用expr进行基本运算,注意乘号(*)需要转义,数字与符号之间必须使用空格隔开

expr 5+1
expr 5 * 1
#注意输出0表示假(错误),输出1表示真(正确),大小于号需要转义,数字与符号之间一样需要用空格隔开
expr 5 \>  1
expr 5 \<  1
#对字符串的处理,可以使用"length [字符串]"来统计字符串长度;也可以使用"substr [偏移量] [长度]"截取指定的字符,偏移量从1开始;
expr length "hello world"
expr substr "hello world" 2 3  #2表示从第2位开始,3表示截取3位字符

bc

bc命令是用来做浮点运算,也就是小数点运算。

#组合命令
num=10
echo "scale=2;$num/3" | bc

#单独命令
bc<<!
1.1+1.1
!

#处理分数
bc<<!
#bc命令里可以另外定义变量
num =10  
num*5
50
 
5/3
#这里之所以为整数,是因为没有设置小数位数
1

#设置小数的位数为2位
scale=2  
5/3
1.66
quit
!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值