Linux shell中对小数进行比较的方法

前言

用于数值比较的无非大于、小于、等于、大于等于、小于等于这几个。

比较格式: [ 数值1 比较符 数值2 ] 注意左边的括号与数值1之间有一个空格,同样,数值2和右边的括号之间也有空格。

数值比较运算符对应下面几个:
-eq 判断相等,相等返回true,否则返回false
-ne 判断是否不相等,不相等返回true,否则返回false
-gt 判断左边是否大于右边的值,大于则返回true,否则返回false
-lt 判断左边是否小于右边的值,小于则返回true,否则返回false
-ge 判断左边是否大于或等于右边的值,大于则返回true,否则返回false
-le 判断左边是否小于右边的值,小于则返回true,否则返回false

小数的比较

1.shell中 可以用 bc 对小数进行运算
#echo 5.5+1.1 | bc
6.6

2.使用,awk判断小数点后的位数

num=6.6666;echo $num | awk 'BEGIN{FS="."}{printlength($2)}'

3.直接使用awk比较大小

awk -v num1=6.6 -v num2=5.5'BEGIN{print(num1>num2)?"0":"1"}'

如果num1>num2打印输出0,否则输出1

4.使用expr,返回1表示 a &gt; a&gt; a>b, 0表示 a &lt; a&lt; a<b

 a=6.6 b=5.5;expr $a > $b

5.使用br

echo "6.6>5.5" |br

linux shell 中小数进行比较

if [ `expr $a \> $b` -eq 0 ];then
   echo $b is bigger
else
    echo $a is bigger
fi
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值