首页 > linux > bash 整数测试操作符
2009九月20

bash 整数测试操作符

bash 提供了算术测试集合。与<和>之类的字符串比较操作符不同。字符串比较操作符比较字符串的词典值,而不是数字值。例如,字符串比较的时候”6″要比”57″大,就像”p”比”ox”大一样,字符串比较时是按照字符串在字典中出现的顺序一样。但是作为整数比较的时候情况则是按整数值比较的。

bash 算术测试操作符:

操作符 比较
-lt 小于:less than
-le 小于等于:equal or less than
-eq 等于:equal
-ge 大于等于:equal or greater than
-gt 大于:greater than
-ne 不等于:not equal

bash 算术测试操作符说明:

如果要在同一条件表达式内将整数测试和其他类型测试结合起来,上面表格中给出的操作符是必须的。然而,shell对只包含整数的条件表达式有单独的语法。这样做效率更佳。因此应该优先使用上面列出的自述测试操作符。

bash 算术测试操作符示例:

以下面的示例简单的说明一下,整数测试操作符,和字符串比较操作符同样语法运行结果的不同:

#/bin/bash
var1='3'
var2='21'

echo "compare as integer:"
if [ $var1 -eq $var2 ]; then
        echo "$var1 equal $var2"
else
        echo "$var1 not equal $var2"
        if [ $var1 -lt $var2 ]; then
                echo "$var1 less than $var2"
        else
                echo "$var1 greater than $var2"
        fi  
fi

echo "compare as string:"
if [ $var1 = $var2 ]; then
        echo "$var1 = $var2"
else
        echo "$var1 != $var2"
        if [ $var1 \< $var2 ]; then
                echo "$var1 < $var2"
        else
                echo "$var1 > $var2"
        fi  
fi

运行结果如下图:

bash compare vars as integer and string

bash compare vars as integer and string

唠叨:

繁事物极必反,所谓阴极阳生,两仪生四相是也——扯的真远,呵呵。简单的说就是shell方面个人虽然喜欢, 不过也不会像以前一样,一口气写好多同样的内容,不但自己生厌,列位前来捧场的同学看着也烦。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/09/20/1479/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

2 Responses to “bash 整数测试操作符”

  1. #1 bolo 回复 | 引用 Post:2009-09-20 21:05

    又搞四连发了

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-09-20 21:30

    @bolo
    呵呵。好几天没写了,补一下之前的债。呵。

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)