用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 注:脚本在此页面可能有的字符会自动变成中文字符,如果贴出来运行有可能会报错,只能慢慢照着敲。
总结:
学脚本只能多练,才能慢慢的形成一种脚本思维,否则永远写不出属于自己的脚本。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/190628.html