Shell脚本———比较整数大小经典案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本———比较整数大小经典案例相关的知识,希望对你有一定的参考价值。

方法1:传参

#!/bin/bash

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

# File Name: compare1.sh

# Version: V7.4

# Author: feng yu

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

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

# Description:

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

[ $# -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: http://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: http://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: http://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


以上是关于Shell脚本———比较整数大小经典案例的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本编程

shell练习

shell脚本-比较两个整数大小

shell脚本-比较两个整数大小

Shell脚本--变量(后附简单shell脚本案例)!

编写shell脚本,实现如下功能:(1)从命令行读入2个整数;(2)对两个数进行大小比较;(3)在屏幕上输出