shell加减乘除运算

1. 整数的加减乘除

1. 方括号
#!/bin/bash
var1=$[1+3]
var2=$[3-1]
var3=$[3*2]
var4=$[4/2]
var5=$[$var1+$var2]
2. 双小括号
#!/bin/bash
var1=$((1+3))
var2=$((3-1))
var3=$((3*2))
var4=$((4/2))
var5=$(($var1+$var2))

以上两种方法可以实现shell中的加减乘除运算,运算符两边有没有有没有空格都可以正常计算,但是不能进行小数的运算。

2. 小数的加减乘除

1. 使用bc
  1. 加法
    运算结果的小数位数以相加数中最大位数为准,不可以用scale自定义结果小数位数。
#!/bin/bash
var1=$(echo "1.23+2.444" | bc)
  1. 减法
    运算结果的小数位数以相减数中最大位数为准,不可以用scale自定义结果小数位数。
#!/bin/bash
var1=$(echo "3.2-2.444" | bc)
  1. 乘法
    运算结果的小数位数以相乘数中最大位数为准,可以用scale自定义结果小数位数,但是只有scale给定的位数大于乘数中的最大位数,且小于计算结果的实际位数时生效。
#!/bin/bash
var1=$(echo "3.2*2.444" | bc)
var2=$(echo "scale-2;3.2*2.444" | bc)
  1. 除法
    运算结果为整数部分,小数直接切割舍掉;可以用scale自定义结果小数位数,小数位数保留为截取至指定位数,不够位数则补0。
#!/bin/bash
var1=$(echo "5/2" | bc)
2. 使用awk(四舍五入完成小数的计算)
  1. awk直接进行计算
a=2
b=3
c=$(awk 'BEGIN{print "'$a'" / "'$b'"}')
0.666667
  1. awk控制小数位数(四舍五入)
a=2
b=3
c=$(echo "$a $b" |awk '{printf("%.2f",$1/$2)}') 
#首先使用echo输出变量,然后通过$1,$2,...引用变量值
0.67			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值