LINUX-SHELL之数字运算

在Bash shell环境中,可以利用let,(())和[]执行基本的算数操作。而在进行高级操作时,expr和bc这两个工具也会非常有用。

数字的加减

我们在shell中普通的变量赋值的时候会被存储为字符串。然而,我们可以用一些方法让他们可以像数字一样处理。

#! /bin/bash
no1=4
no2=5

我们定义了两个变量,let命令可以直接执行基本的算数操作。当使用let时,
变量名之前不需要再添加$,比如:

let no1++
let result=no1+no2

这里let不支持sh,只支持bash。
其他方法:
操作符[]的使用方法和let命令类似:
result=$[no1+no2]

在[]中也可以使用$前缀:

result=$[$no1+5]

当然我们也可以使用exor进行基本的算数操作:

result=`expr 3 + 4`
echo $result

在这里我们使用了反引号,执行shell的时候会优先执行3+4=7。

支持浮点数:bc

bc是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项。我们可以借助它执行浮点数并应用一些高级函数

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

上面我们成功的输出了我们的小数。

设定小数精度:

我们可以利用scale=x将小数位个数设置为x。因此,bc将会输出包含x个小数位的数值。

echo "scale=2;3/8" | bc
0.37

进制转换

使用bc我们可以将一种进制转换为另一种。obase是我们输出的进制,ibase是我们输入的进制。

no=100
echo "obase=2;$no"|bc
1100100
no=1100100
echo "obase=10;ibase=2;$no"|bc
100

计算平方以及平方根:

echo “sqrt(100)” | bc
echo “10^10” |bc

更多交流请扫我的技术公众号

我的技术公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值