不知道怎么回事老说我第14行有错,看半天看不出来,怎么解决啊

来源:4-2 shell多分支if语句例:计算器

犯二小孩

2016-03-31 13:39

#!/bin/bash


read -t 30 -p "please input num1: " num1

read -t 30 -p "please input num2: " num2

read -t 30 -p "please input operator: " op


if [ -n "$num1" -a -n "$num2" -a -n "$op" ]

        then

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

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

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

                        then

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

                                        then

                                                res=$(($num1+$num2))

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

                                        then

                                                res=$(($num1-$num2))

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

                                        then

                                                res=$(($num1*$num2))

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

                                        then

                                                res=$(($num1/$num2))

                                else

                                        echo "yunsuanfu shuru cuowu !!!"

                                        exit 10

                                fi

                else

                        echo "shuru shuzi cuowu!!!"

                        exit 11

                fi

else

        echo "qing shuru neirong"

        exit 12

fi

echo " $num1$op$num2=$res "


写回答 关注

1回答

  • ndsunl
    2016-03-31 20:32:26
    已采纳

    13行 if 和 [ 之间要有空格,

    16 19 22 行 elif 和 [ 之间要有空格, 

    改完即可.

    犯二小孩

    太谢谢了,又纠正个毛病

    2016-04-06 09:37:17

    共 1 条回复 >

shell编程之条件判断与流程控制

Linux shell实用案例学习,一定会使你Linux运维能力再次提高

35507 学习 · 139 问题

查看课程

相似问题