开发者社区> 技术小胖子> 正文

《跟老男孩学习Linux运维:Shell编程实战》之比较两个整数的大小

简介:
+关注继续查看

《跟老男孩学习Linux运维: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说明


    wKiom1lckA3QwBlBAABj-mnna7A078.png

    说明:上面脚本包括四个部分,分别是:

    (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说明

    wKiom1lcmTfxwztXAABkEq2I4Io438.png

    说明:上面脚本可以分为三个部分:

    (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说明

    wKioL1lcqkzRbHIYAAcOy5eehUg460.png




     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1944798,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《ECS运维指南 之 Linux系统诊断》电子版地址
本书以浅显易懂的案例带领您进入Linux 的世界,由浅入深,由表及里,层层推进,从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。本书语言通俗易懂,讲解风趣幽默,读来轻松自如,酣畅淋漓,每个知识点都结合具体实例进行讲解,尽可能避免枯燥乏味的理论解释,是学习Linux不可多得的一本好书。
34 0
Linux操作系统学习(运维必会)
Linux操作系统学习(运维必会)
82 0
《ECS运维指南 之 Linux系统诊断》电子版地址下载
本书以浅显易懂的案例带领您进入Linux 的世界,由浅入深,由表及里,层层推进,从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。本书语言通俗易懂,讲解风趣幽默,读来轻松自如,酣畅淋漓,每个知识点都结合具体实例进行讲解,尽可能避免枯燥乏味的理论解释,是学习Linux不可多得的一本好书。
26 0
Linux基础知识- 系统随你玩之--笔记-日常开发运维常用命令
今天我们介绍一下我们日常开发运维过程中每天 都用到哪些常用命令呢。
86 0
《ECS运维指南 之 Linux系统诊断》电子版
本书以浅显易懂的案例带领您进入Linux 的世界,由浅入深,由表及里,层层推进,从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。本书语言通俗易懂,讲解风趣幽默,读来轻松自如,酣畅淋漓,每个知识点都结合具体实例进行讲解,尽可能避免枯燥乏味的理论解释,是学习Linux不可多得的一本好书。
36 0
Linux企业运维人员最常用150个命令汇总
Linux企业运维人员最常用150个命令汇总
75 0
linux运维常用命令
介绍linux运维常用命令
48 0
《ECS运维指南 之 Linux系统诊断》下载
本书以浅显易懂的案例带领您进入Linux 的世界,由浅入深,由表及里,层层推进,从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。本书语言通俗易懂,讲解风趣幽默,读来轻松自如,酣畅淋漓,每个知识点都结合具体实例进行讲解,尽可能避免枯燥乏味的理论解释,是学习Linux不可多得的一本好书。
19 0
跟着老万学linux运维-vi编辑器中的大小写转换技巧
跟着老万学linux运维-vi编辑器中的大小写转换技巧
138 0
跟着老万学linux运维(4)-文件权限
跟着老万学linux运维(4)-文件权限
63 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载