用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
注:脚本在此页面可能有的字符会自动变成中文字符,如果贴出来运行有可能会报错,只能慢慢照着敲。
总结:
学脚本只能多练,才能慢慢的形成一种脚本思维,否则永远写不出属于自己的脚本。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。