1. 程式人生 > >比較兩個整數的大小

比較兩個整數的大小

比較兩個整數的大小 linux test if shell腳本練習

比較兩個整數的大小


說明:使用if條件從句比較兩個整數的大小。使用傳參方法時,需要對傳參個數及傳入的參數是否是整數進行判斷。

  1. 思路

    第一,先判斷輸入的是兩個數,對輸入個數進行判斷;

    第二,再判斷輸入的兩個數是整數;

    第三,最後比較兩個數的大小。

  2. 腳本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

  3. 腳本1說明

    技術分享

    說明:上面腳本包括四個部分,分別是:

    (1)設置兩個傳參;

    (2)判斷輸入的是否是兩個參數;

    (3)判斷輸入的兩個參數是否是整數;

    (4)比較兩個整數的大小。

  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

  5. 腳本2說明

    技術分享

    說明:上面腳本可以分為三個部分:

    (1)第一部分設置傳參

    (2)做兩個判斷:判斷傳參是否時兩個,判斷傳參是否時整數;

    (3)比較兩個傳參的大小。

  6. 腳本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

  7. 腳本3說明

    技術分享

本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1944798

比較兩個整數的大小