shell习题-计算器


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

 

参考答案:

#!/bin/bash

if [ $# -ne 3 ] 
then
    echo "参数个数不为3"
    echo "当使用乘法时,需要加上脱义符号,例如 $0 1 \* 2"
    exit 1;
fi

num1=`echo $1|sed 's/[0-9.]//g'` ;
if [ -n "$num1" ] 
then
    echo "$1 不是数字" ;
    exit 1
fi

num3=`echo $3|sed 's/[0-9.]//g'` ;
if [ -n "$num3" ]
then
    echo "$3 不是数字" ;
    exit 1
fi

case $2 in
  +)
    echo "scale=2;$1+$3" | bc
    ;;

  -)
    echo "scale=2;$1-$3" | bc 
    ;;

  \*)
    echo "scale=2;$1*$3" | bc 
    ;;

  /)
    echo "scale=2;$1/$3" | bc 
    ;;
 
  *)
   echo  "$2 不是运算符"
   ;;
esac