思路 :利用输入字符串的个数,与其中数字的个数进行对比,若相等则该字符串即为纯数字,反之则不是
具体实现代码如下:
#! /bin/sh
echo "请输入纯数字"
echo "**********************************************"
read -p "pls input num1 : " num1
echo $num1 > num1
len1=`echo ${#num1}`
a1=`egrep -o '[0-9]{0,}' num1 `
len0=`echo ${#a1}`
if [[ $len0 == $len1 ]]
then
echo num1=$num1
elif [[ $len0 != $len1 ]]
then
echo "输入有误,请输入纯数字"
fi
read -p "pls input num2 : " num2
echo $num2 > num2
len3=`echo ${#num2}`
a2=`egrep -o '[0-9]{0,}' num2 `
len4=`echo ${#a2}`
if [[ $len3 == $len4 ]]
then
echo num2=$num2
elif [[ $len3 != $len4 ]]
then
echo "输入有误,请输入纯数字"
fi
if [[ $len0 != $len1 || $len3 != $len4 ]]
then
echo "输入错误,程序退出"
else
echo "*************************************************"
jia=$(expr $num1 + $num2)
echo num1+num2=$jia
jian=$(expr $num1 - $num2)
echo num1-num2=$jian
chen=$(expr $num1 \* $num2)
echo num1*num2=$chen
chu=$(expr $num1 / $num2)
echo num1/num2=$chu
fi