首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

unix shell中怎么判断两个小数的大小

2012-03-24 
unix shell中如何判断两个小数的大小如题,是判断现系统版本和更新文件版本的系统版本高的不用更新,系统版

unix shell中如何判断两个小数的大小
如题,是判断现系统版本和更新文件版本的

系统版本高的不用更新,系统版本低的需要更新

也就是3.9 4.0 4.1这样的小数

因为我不是针对特定的系统,所以shell命令的话,最好是所有unix都通用的,谢谢了

[解决办法]
shell 對小數沒辦法處理
可以用bc awk之类的工具
http://bbs.chinaunix.net/archiver/tid-606378.html
[解决办法]
a="0.1"
b="8.2"
if [ `expr $a \>= $b ` -eq 1 ]
then
echo $a \> $b
else
echo $a \<\ $b
fi


不过一般的,都是把它分割成多个整数比较,因为版本号经常有2.0.32.2这样的写法。
[解决办法]

BatchFile code
#! /bin/sh## auth: mymtom# date: 2008-02-20x=7.0y=6.3r=`echo "${x}>${y}" | awk -F '>' '{ print ($1 > $2 ? "yes" : "no") }'`echo "x=${x}, y=${y}; x>y ? ${r}"x=5.5y=6.3r=`echo "${x}>${y}" | awk -F '>' '{ print ($1 > $2 ? "yes" : "no") }'`echo "x=${x}, y=${y}; x>y ? ${r}"x=7.0y=6.3r=`echo "${x}>${y}" | awk -F '>' '{ print ($1 > $2 ? "yes" : "no") }'`echo "x=${x}, y=${y}; x>y ? ${r}"x=6.3y=6.3r=`echo "${x}>${y}" | awk -F '>' '{ print ($1 > $2 ? "yes" : "no") }'`echo "x=${x}, y=${y}; x>y ? ${r}" 

热点排行