linuxshell中数字的比较

【整数之间的比较】

示例脚本:

#!/bin/bash
if [ $1 -gt $2 ]
then echo "参数$1大于参数$2"
else echo "参数$1小于参数$2"
fi


数字判断一些命令:
#-gt是大于
#-lt是小于
#-eq是等于
#-ne是不等于
#-ge是大于等于
#le是小于等于   
【小数及整数之前的比较】

示例脚本:

a=1.6
b=6.1
c=`echo "$a > $b" | bc`

说明:

可以使用的比较符号:

>

<

==

>=

<=

如果双引号内执行结果为真,c的值就是1,否则c的值就是0.

注意:这里一定一定要注意的是,这个比较结果就是0或1,而不是代表true或false,因而不能用于if后的条件判断!切记切记!

另,字符串的比较:

字符串中有可能有空格等,所以最好是使用双引号将字符串都括起来,例如:

示例脚本:

a="hello  world"
b="hello world"
if [ "$a" = "$b" ]
then
        echo "a is same as b"
else
        echo "a is different from  b"
fi

该脚本执行结果为:a is different from  b

可以看出,字符串比较时,空格也会参与比较。

猜你喜欢

转载自blog.csdn.net/hjrnet/article/details/83861619