Chinaunix首页 | 论坛 | 博客
  • 博客访问: 635562
  • 博文数量: 137
  • 博客积分: 6189
  • 博客等级: 准将
  • 技术积分: 1559
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-15 16:39
文章分类

全部博文(137)

文章存档

2010年(3)

2009年(1)

2008年(49)

2007年(56)

2006年(28)

分类: LINUX

2008-09-26 17:03:16

echo "1.1" "1.2"  | awk '{if($1<$2)print $1,"is smaller than",$2}'

用awk比较可以。用gt的话会报integer expression expected

也可以用bc

在shell脚本中,无法对浮点数进行比较,如:

max=0.1
min=0.01

if [ "$max" -gt "$min" ]
then
echo "YES"
else
echo "NO"
fi

这样的比较,运行后得到错误:

line 4: [: 0.1: integer expression expected

因为bc和awk都支持浮点数,可以使用bc进行处理:

max=0.1
min=0.01

if [ `echo "$max > $min" | bc` -eq 1 ]
then
echo "YES"
else
echo "NO"
fi

也可以写成if [ $(echo "$max < $min"|bc) -eq 1 ]


%3D1&frombbs=1
阅读(1885) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~