晚上看会儿书,基础的东西,很多都不熟练,不得不佩服那些人真的很厉害,为啥会想到那些,我这傻脑袋是想不到,暂时......
比较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 : [: 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 ] ;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 [root@yunovo shell]# echo "5>7" | bc