if条件里比较浮点数
晚上看会儿书,基础的东西,很多都不熟练,不得不佩服那些人真的很厉害,为啥会想到那些,我这傻脑袋是想不到,暂时......
比较3.3333与3
#!/bin/bash var1=`echo "scale=4; 10/3" |bc` echo "The test value is $var1" if [ $var1 -gt 3 ] ;then echo "The result is larger than 3" else echo "aa" fi
报错:
The test value is 3.3333 if4.sh: line 6: [: 3.3333: integer expression expected aa
解决办法:
#!/bin/bash var1=`echo "scale=4; 10/3" |bc` echo "The test value is $var1" echo `echo "$var1 > 3"|bc` if [ `echo "$var1 > 3"|bc` -eq 1 ] ;then echo "The result is larger than 3" else echo "aa" fi
scale定义小数点后的位数;if条件里通过bc返回的值与1作比较,若等于1,说明是大于
如何在if [ condition ] 里比较浮点数,通过bc命令;bc的数值比较运算:
[root@yunovo shell]# echo "5>3" | bc 1 [root@yunovo shell]# echo "5>7" | bc 0
作者:李先生
-------------------------------------------
个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
微信公众号 微信打赏 支付宝打赏
posted on 2016-11-28 19:56 Captain_Li 阅读(1711) 评论(0) 编辑 收藏 举报