比較兩個整數的大小
比較兩個整數的大小
說明:使用if條件從句比較兩個整數的大小。使用傳參方法時,需要對傳參個數及傳入的參數是否是整數進行判斷。
思路
第一,先判斷輸入的是兩個數,對輸入個數進行判斷;
第二,再判斷輸入的兩個數是整數;
第三,最後比較兩個數的大小。
腳本1如下
#!/bin/bash
#write by wtf
#date:2017-7-5
a=$1
b=$2
if [ $# -ne 2 ];then
echo "Please enter two Numbers!"
exit 1
fi
expr $a + 1 &>/dev/null
RETVAL1=$?
expr $b + ! &>/dev/null
RETVAL2=$?
if [ $RETVAL1 -ne 0 -a $RETVAL2 -ne 0 ];then
echo "Please enter two int!"
exit 2
fi
if [ $a -lt $b ];then
echo "$a<$b"
exit 0
fi
if [ $a -gt $b ];then
echo "$a>$b"
exit 0
fi
if [ $a -eq $b ];then
echo "$a=$b"
exit 0
fi
腳本1說明
說明:上面腳本包括四個部分,分別是:
(1)設置兩個傳參;
(2)判斷輸入的是否是兩個參數;
(3)判斷輸入的兩個參數是否是整數;
(4)比較兩個整數的大小。
腳本2如下
#!/bin/bash
#write by wtf
#date:2017-7-5
#version:v1.2
a=$1
b=$2
expr $a + 1 >/dev/null 2>/dev/null
RETVAL1=$?
expr $b + 1 >/dev/null 2>/dev/null
RETVAL2=$?
if [ $# -ne 2 ];then
echo "please enter two number!"
exit 1
elif [ $RETVAL1 -ne 0 ]||[ $RETVAL2 -ne 0 ];then
echo "please enter two int!"
exit 2
fi
if [ $a -lt $b ];then
echo "$a<$b"
exit 0
fi
if [ $a -gt $b ];then
echo "$a>$b"
exit 0
fi
if [ $a -eq $b ];then
echo "$a=$b"
exit 0
fi
腳本2說明
說明:上面腳本可以分為三個部分:
(1)第一部分設置傳參
(2)做兩個判斷:判斷傳參是否時兩個,判斷傳參是否時整數;
(3)比較兩個傳參的大小。
腳本3如下【老男孩老師的腳本】
#!/bin/bash
#write by wtf
#date:2017-7-5
#version:v1.3
read -p "please enter two num:" a b
expr $a + 1 &>/dev/null
RETVAL1=$?
expr $b + 1 &>/dev/null
RETVAL2=$?
if [ -z "$a" ]||[ -z "$b" ]
then
echo "please enter two num again!"
exit 1
elif test $RETVAL1 -ne 0 -o $RETVAL2 -ne 0
then
echo "please enter two int!"
exit 2
elif [ $a -lt $b ]
then
echo "$a<$b"
elif [ $a -eq $b ]
then
echo "$a=$b"
else
echo"$a>$b"
fi
exit 0
腳本3說明
本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1944798
比較兩個整數的大小