Shell中的算术运算

let , [] , (()) , expr , bc都是在Bash shell环境中进行数学运算时我们会用到的工具


一.整数运算

let:

当使用let时,变量名之前不能再添加$

用法:

var1=2
var2=3
let result=var1+var2
echo $result

除此之外,我们还可以使用 let 来进行自加自减操作

let var++ #使用let进行自加
let var-- #使用let进行自减
#简写
let no+=6    
let no-=6
#它们分别等同于let no=no+6和let no=no-6

[] ,(()):

操作符 [] 和 (()) 的使用方法和 let 命令类似,当使用它们时,变量名之前可以加上$,也可以不加,但是操作符前面必须加$

用法:

var1=2
var2=3
result=$[var1+var2]   #也可以用result=$[$var1+$var2] 或者result=$((var1+var2))
echo $result

expr:

expr同样可以用于基本算术操作,需要注意需要注意在进行乘法运算时得在 * 前面加上转义符 \ ,否则会报错,除此之外,表达式中的每个部分都要用空格分开

用法示例:

expr 3 + 8
11
expr 8 - 3
5
expr 2 \* 3
6
expr 4 \/ 2
2

通过下面的对比实验,可以看出,如果每个部分不用空格分开,expr会直接将后面表达式部分当作字符串输出。其次,使用乘法时,如果不用转义符也会报错
在这里插入图片描述


二.浮点数运算

上面说的那些都是整数运算,当进行浮点数运算时,就需要用到 bc 这个工具。bc是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项。我们可以借助它执行浮点数运算并应用一些高级函数

用法:

echo "参数;表达式" |bc

例如:

no=54
result=`echo "$no * 1.5" | bc`
echo $result
81.0 

除了能进行算术运算之外,bc还有其他的功能:

还可以控制浮点运算的精度,这就要用到它的一个内置变量scale,需要注意的是
scale只对除法、取余、乘幂有效

例如:

var1=10
var2=20.23
echo "scale=2; $var1 / $var2" | bc

在这里插入图片描述
计算平方根及平方
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值