问答详情
源自:-

计算器无法进行乘法运算为什么???

#!/bin/bash
#对输入的值进行+-*/运算
#先让提示输入数值,并检测是否输入的值有效(为数值型)
#提示输入运算符,并检测是否有效
#根据输入的值、运算符是否有/无效进行循环判断和操作

#提示用户输入想要计算的数值和运算符,并将值赋予变量
read -t 10 -p "请输入要计算的数值1 : " num1
read -t 10 -p "请输入运算符: " a
read -t 10 -p "请输入要计算的数值2 : " num2
#判断输入的值是否为非空
if [ -n"$num1" -a -n"$num2" -a -n"$a" ]
  then 
#判断输入的是否为数值类型,用sed转换命令来检测,将数值转换为空值,并将空值赋予变量
        tes1=$(echo $num1 | sed 's/[0-9]//')
        tes2=$(echo $num2 | sed 's/[0-9]//')
#检测空值的变量是否为空
         if [ -z$tes1 -a -z$tes2 ]
             then
#检测运算符是否为非空
                 if [ $a == "+" ];then
                    echo "$num1 $a $num2" = $(($num1 + $num2))
                      elif [ $a == "-" ];then
                      echo "$num1 $a $num2" = $(($num1 - $num2))
                          elif [ $a == "*" ];then
                          echo "$num1 $a $num2" = $(($num1 * $num2))
                              elif [ $a == "/" ];then
                              echo "$num1 $a $num2" = $(($num1 / $num2))
                                else 
                                echo"输入正确的运算符"
                 fi
         else
         echo"输入的值不是数值类型"
          fi
else
echo"请输入数值或运算符"
fi


提问者:叶知秋丶 2018-06-29 15:12

个回答

  • 叶知秋丶
    2018-06-29 16:22:06

    发现原因了, 是因为在进行条件判断时,变量$a没有加"" 号,所导致,加上之后就好了,但是没加之前为什么+ - / 都可以正常运算???