#!/bin/bash

#2016-2-29

#于虎林

#思路如下

#1,判断有没有输入类容

#2,判断输入的是不是数值

#3,判断输入的运算符

#执行运算符操作

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" ] #-n 判断字符串是否为非空

then

#判断输入的是不是数字,(测试能不能将values的值替换为空,如果替换为空,说明输入的是数值,如果不行,说明输入的不是数值)

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

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

#判断输入的是不是数值,如果num1和num2的值为空,说明输入的是数值

if [ -z "$values1" -a -z "$values2" ] # -z 判断字符串是否为空

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

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

else 

echo "您输入的不是数字,请输入有效数字!"

exit 11

fi

else

echo "您没有输入数值,请输入有效数值!"

exit 12

fi


#返回10,没有输入正确的运算符

#返回11,输入的不是数字

#返回12,没有输入任何值

注:本文章仅此对自己以后学习参考