Shell 编程中,编写一个脚本,获取用户的输入,要求用户的2个参数输入的都是数字,并根据用户的输入,对其值进行加减乘除,然后打印出其值,最好加上打印字符串便于人读

思路 :利用输入字符串的个数,与其中数字的个数进行对比,若相等则该字符串即为纯数字,反之则不是

具体实现代码如下:

#! /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
 

猜你喜欢

转载自blog.csdn.net/weixin_60274825/article/details/120786146