码迷,mamicode.com
首页 > 系统相关 > 详细

shell比较浮点数和整数

时间:2017-05-04 12:43:39      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:exp   div   bsp   color   pre   计算   expect   转换   class   

  今天有一个朋友忽然问我在shell中,如何比较浮点数和整数,倒是把我问的一愣,在工作中确实没有遇到这个场景。我们也知道,在shell中数字的计算通常都会转换成整数,比如说1.1和1会被认为是一样的。这么一来,我们就不能直接通过gt或者lt等方式来进行比较。虽然没遇到过,但我们也知道,这个比较肯定也不会很难。简单的记录下以作备用。

下面是一个常规写法的示例:

if [ 1.1 -gt 1 ];then
  echo "OK"
fi

直接会抛出如下异常:

line 3: [: 1.1: integer expression expected

正确的写法如下:

if [ `echo "1.1 > 1" | bc` -eq 1 ];then
    echo "OK"
fi

 

shell比较浮点数和整数

标签:exp   div   bsp   color   pre   计算   expect   转换   class   

原文地址:http://www.cnblogs.com/breezey/p/6806385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!