用if语句的两种方法来判断两个数字的大小。


第一种:

#!/bin/bash
a=$1
b=$2
#参数的个数不等于2的情况下
[ $# -ne 2 ]&&{
        echo "USAGE:$0 NUM1 NUM2"
        exit 1
}

#计算返回值
expr $a + 0 &>/dev/null
RETVAL1=$?
expr $b + 0 &>/dev/null
RETVAL2=$?

#返回值的结果必须都为0  $? 上一个命令的返回值 0表示成功
test $RETVAL1 -eq 0 -a $RETVAL2 -eq 0||{
        echo "Please enter input two "num" again."
        exit 2
}

#比较
if [ $a -eq $b ];then
        echo "$a = $b"
elif [ $a -gt $b ];then
        echo "$a > $b"
elif [ $a -lt $b ];then
        echo "$a < $b"
else
        exit
fi
注:脚本在此页面可能有的字符会自动变成中文字符,如果贴出来运行有可能会报错,只能慢慢照着敲。


第二种

#!/bin/bash
read -t 5 -p "Please enter input two num:" a b

#判断是字符串长度是否等于零,如果等于零则为真
[ -z "$a" ] || [ -z "$b" ]&&{
        echo "Please enter input two num agagin."
        exit 1
}

#判断返回值的结果是否为trun
expr $a + 0 &>/dev/null
RETVAL1=$?
expr $b + 0 &>/dev/null
RETVAL2=$?

#判断返回值的结果是否都是trun
test $RETVAL1 -eq 0 -a $RETVAL2 -eq 0||{
        echo "Please enter input two "num" again."
        exit 2
}

#判断大小
if [ $a -eq $b ];then
        echo "$a = $b"
elif [ $a -gt $b ];then
        echo "$a > $b"
elif [ $a -lt $b ];then
        echo "$a < $b"
else
        exit 3
fi
exit
注:脚本在此页面可能有的字符会自动变成中文字符,如果贴出来运行有可能会报错,只能慢慢照着敲。

总结:

        学脚本只能多练,才能慢慢的形成一种脚本思维,否则永远写不出属于自己的脚本。