打出来的结果有问题

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

绛心

2019-07-02 23:12

https://img4.mukewang.com/5d1b73ff0001667102720121.jpg

脚本如下

#!/bin/bash


read -t 30 -p "请输入数值1:" num1

read -t 30 -p "请输入数值2:" num2

read -t 30 -p "请输入运算符:" ope


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

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 [ "$ope" == '+' ]

then

sum = $(($num1+$num2))

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

then

sum = $(($num1-$num2))

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

then

sum = $(($num1*$num2))

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

then

sum = $(($num1/$num2))

else

echo "只支持加减乘除四种运算符!"

exit 10

fi


else

echo "必须输入数字!"

exit 11

fi

else

echo "输入的数值或运算符不能为空!"

exit 12

fi

echo "$num1 $ope $num2 = $sum" 


写回答 关注

1回答

  • AndreaZha
    2019-07-04 19:08:48
    已采纳

    sum = $(($num1+$num2)),=前后不能有空格吧,得是sum=$(($num1+$num2))

    绛心

    对的,删掉空格就没问题了!

    2019-07-04 22:30:28

    共 1 条回复 >

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

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

35507 学习 · 139 问题

查看课程

相似问题