问答详情
源自:4-2 shell多分支if语句例:计算器

这代码的问题在哪呢?不知道怎么修该了,大神,求救+_+

 

#!/bin/bash


read -t 30 -p "Please input number1:" number1

read -t 30 -p "Please input number2:" number2

read -t 30 -p "Please input a operator:" operator

if [ -n "$number1" -a -n "$number2" -a -n "$operator" ]

        then

        test1=$(echo $number1 | sed's/[0-9]//g' )

        test2=$(echo $number2 | sed's/[0-9]//g' )

                if [ -z "$test1" -a -z "$test2" ]

                        then

                        if [ "$operator" == '+' ]

                                then

                                result=$(($number1 + $number2))

                        elif [ "$operator" == '-' ]

                                then

                                result=$(($number1 - $number2))

                        elif [ "$operator" == '*' ]

                                then

                                result=$(($number1 * $number2))

                        elif [ "$operator" == '/' ]

                                then

                                result=$(($number1 / $number2))

                        else

                                echo "Please Enter a vaild sybul"

                                exit 10

                        fi

                else

                        echo "Please Enter a number"

                        exit 11

                fi

else

        echo "Please Enter vaild number"

        exit 12

fi

echo "$number1 $operator $number2:$resulte"

~                                                                                                                                                                           

~                                             


提问者:just_say_东东 2015-10-17 22:22

个回答

  • onemoo
    2015-10-18 15:07:07
    已采纳

    test1 和 test2 那两句中,sed 和 后面的引号之间好像没有空格: sed 's/[0-9]//g'

    最后输出结果时,result 错打成 resulte了。

  • just_say_东东
    2015-10-18 18:21:23

    http://img.mukewang.com/5623727f00019a5f04850172.jpg这是怎么回事