Skip to content

Latest commit

 

History

History
54 lines (48 loc) · 813 Bytes

60.md

File metadata and controls

54 lines (48 loc) · 813 Bytes

题目要求

写一个shell脚本,比较两个数的大小,支持浮点数,两个数通过shell参数的形式提供。

参考答案

#!/bin/bash
#这个脚本用来比较两个数大小
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-05

if [ $# -ne 2 ]
then
    echo "请提供两个参数."
    exit
fi

if_number() 
{
    if echo $1|grep -q '^-'
    then
	nu=`echo $1|sed 's/^-//'`
    else
	nu=$1
    fi
    n=`echo $nu|sed 's/[0-9.]//g'`
    if [ -n "$n" ]
    then
	echo "$1不是合法数字."
	exit
    fi
    if echo $1|grep -q '^\.'
    then
	echo "$1不是合法数字."
	exit
    fi
}

if_number $1
if_number $2

n1=`echo "$1>$2"|bc`
if [ $n1 -eq 1 ]
then
    echo "$1 > $2"
else
    if [ "$1" == "$2" ]
    then
	echo "$1 = $2"
    else
	echo "$1 < $2"
    fi
fi