Shell腳本———比較整數大小經典案例

方法1:傳參bash

#!/bin/bashide

##############################################################spa

# File Name: compare1.shblog

# Version: V7.4ip

# Author: feng yuit

# Organization: https://blog.51cto.com/13520761io

# Created Time : 2018-03-26 17:22:20class

# Description:方法

##############################################################im

[ $# -ne 2 ] && echo "請輸入2個參數" && exit 2        ---參數個數不等於2時,提示請輸入2個參數,並退出


expr $1 + 1 &>/dev/null

[ $? -eq 2 ] && echo "請輸入整數" && exit 2             ---判斷第一個參數是否爲整數,不是整數,提示請輸入整數,並退出


expr $2 + 1 &>/dev/null

[ $? -eq 2 ] && echo "請輸入整數" && exit 2            ---判斷第二個參數是否爲整數,不是整數,提示請輸入整數,並退出


[ $1 -eq $2 ] && echo "$1 = $2"         

[ $1 -lt $2 ] && echo "$1 < $2"            

[ $1 -gt $2 ] && echo "$1 > $2"


方法2:傳參(if表達式)

#!/bin/bash

##############################################################

# File Name: compare.sh

# Version: V7.4

# Author: feng yu

# Organization: https://blog.51cto.com/13520761

# Created Time : 2018-03-26 16:20:43

# Description:

##############################################################

if ! [ $# -eq 2 ];then

    echo "請輸入2個參數"

    exit

fi


expr $1 + 1 &>/dev/null

if [ $? -eq 2 ];then

    echo "請輸入整數"

    exit

fi


expr $2 + 1 &>/dev/null

if [ $? -eq 2 ];then

    echo "請輸入整數"

    exit

fi


if [ $1 -eq $2 ];then

    echo "$1 = $2"

elif [ $1 -lt $2 ];then

    echo "$1 < $2"

elif [ $1 -gt $2 ];then

    echo "$1 > $2"

fi


方法3:read讀入

#!/bin/bash

##############################################################

# File Name: compare2.sh

# Version: V7.4

# Author: feng yu

# Organization: https://blog.51cto.com/13520761

# Created Time : 2018-03-26 18:20:14

# Description:

##############################################################

read -p "請輸入整數:" num1


expr $num1 + 1 &> /dev/null

[ $? -eq 2 ] && echo "請輸入整數" && exit 2

[ -z "$num1" ] && echo "請輸入一個整數" && exit 2


read -p "請輸入整數:" num2

expr $num2 + 1 &> /dev/null

[ $? -eq 2 ] && echo "請輸入整數" && exit 2   

[ -z "$num2" ] && echo "請輸入一個整數" && exit 2 

 

[ $num1 -eq $num2 ] && echo "$num1 = $num2"

[ $num1 -gt $num2 ] && echo "$num1 > $num2"

[ $num1 -lt $num2 ] && echo "$num1 < $num2"


方法4:read讀入(if表達式)

#!/bin/bash

##############################################################

# File Name: compare2.sh

# Version: V7.4

# Author: feng yu

# Organization: https://blog.51cto.com/13520761

# Created Time : 2018-03-26 18:20:14

# Description:

##############################################################

read -p "請輸入整數:" num1


expr $num1 + 1 &> /dev/null

if [ $? -eq 2 ];then

    echo "請輸入整數"

    exit 2

fi

if [ -z "$num1" ];then

    echo "請輸入一個整數"

    exit 2

fi


read -p "請輸入整數:" num2


expr $num2 + 1 &> /dev/null

if [ $? -eq 2 ];then

    echo "請輸入整數"

    exit 2

fi

if [ -z "$num2" ];then

    echo "請輸入一個整數" 

    exit 2

fi


if [ $num1 -eq $num2 ];then

    echo "$num1 = $num2"

elif [ $num1 -gt $num2 ];then

    echo "$num1 > $num2"

elif [ $num1 -lt $num2 ];then

    echo "$num1 < $num2"

fi

相關文章
相關標籤/搜索