天天看点

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

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

说明:使用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

if [ $a -lt $b ];then

        echo "$a<$b"

        exit 0

if [ $a -gt $b ];then

        echo "$a>$b"

exit 0

if [ $a -eq $b ];then

        echo "$a=$b"

脚本1说明

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

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

(1)设置两个传参;

(2)判断输入的是否是两个参数;

(3)判断输入的两个参数是否是整数;

(4)比较两个整数的大小。

脚本2如下

#version:v1.2

expr $a + 1 >/dev/null 2>/dev/null

expr $b + 1 >/dev/null 2>/dev/null

        echo "please enter two number!"

elif [ $RETVAL1 -ne 0 ]||[ $RETVAL2 -ne 0 ];then

        echo "please enter two int!"

脚本2说明

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

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

(1)第一部分设置传参

(2)做两个判断:判断传参是否时两个,判断传参是否时整数;

(3)比较两个传参的大小。

脚本3如下【老男孩老师的脚本】

#version:v1.3

read -p "please enter two num:" a b

expr $b + 1 &>/dev/null

if [ -z "$a" ]||[ -z "$b" ]

        then

        echo "please enter two num again!"

elif test $RETVAL1 -ne 0 -o $RETVAL2 -ne 0

elif [ $a -lt $b ]

elif [ $a -eq $b ]

else

        echo"$a>$b"

脚本3说明

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