Skip to content

Latest commit

 

History

History
54 lines (47 loc) · 859 Bytes

70.md

File metadata and controls

54 lines (47 loc) · 859 Bytes

题目要求

用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2

参考答案

#!/bin/bash
#这个脚本用来实现简易计算器
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-10

if [ $# -ne 3 ]
then
    echo "你给的参数个数不对,应该给3个参数."
    exit
fi

if_number()
{
    n1=`echo $1|sed 's/[0-9.]//g'`
    if [ -n "$n1" ]
    then
	echo "$1不是数字."
	exit
    fi

    if echo $1|grep -q '^\.' 
    then
	echo "数字$1不合法."
        exit
    fi
}

if_number $1
if_number $3

case $2 in 
  +)
    echo "$1+$3"|bc
    ;;
  -)
    echo "$1-$3"|bc
    ;;
  \*)
    echo "$1*$3"|bc
    ;;
  /)
    echo "scale=2;$1/$3"|bc
    ;;
  *)
    echo "你给出的格式不对,第二个参数只能是+,-,*,/"
    ;;
esac