shell 数字运算

    在 linux 的 shell 脚本里,变量默认都是字符串的。以下面的脚本为例:

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

    如果你直接使用“+”符号

result=$no1 + $no2
echo $result

    得到的结果不是 9,而是 "45" 字符串。这就是 shell 脚本中变量默认为字符串导致的结果。

int 型运算

    那么如何使得这两个变量以 int 的值相加呢,有以下几种方法:

(1)使用 let 关键字

        let no1++

  (2) 使用 [] 操作符

        result=$[ no1 + no2 ] 或者 result=$[ $no1 + 5 ]

  (3) 使用 ( ( ) ) 

        result=$(( no1 + 5 ))

   

double 运算

 以上的这些操作都是针对 int 型而已,要想对 double 型进行运算,就得使用 bc 关键字。比如

    echo "4 * 0.56" | bc

    2.24

    no=54

    result= `echo "$no * 5" | bc`

    echo $result

    81.0

  •    指定精确的位数(scale)
        echo "scale=2;3/8" | bc

        0.37

  •   进制间的转换,比如二进制转换成十进制
#!/bin/bash

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

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值