一: -p 用 echo -n 替代
eg:read -p "请输入:" a b可替换为echo -n "请输入两个参数:"read a b
二: 输入两个参数,先判断是否为整数,然后再进行运算
eg:
#! /etc/sh
#Author:gaoq
#Date:2015-06-02
#Email: 1473418313@qq.com
while true
do
while true
do
read -p "请输入两个参数:" a b
expr $a + 0 >/dev/null 2>&1
[ $? -ne 0 ] && continue
expr $b + 0 >/dev/null 2>&1
[ $? -ne 0 ] && continue||break
done
echo "$a+$b = $(($a+$b))"
echo "$a/$b = $(($a/$b))"
echo "$a*$b = $(($a*$b))"
echo "$a**$b = $(($a**$b))"
echo "$a%$b = $(($a%$b))"
done
#Author:gaoq
#Date:2015-06-02
#Email: 1473418313@qq.com
while true
do
while true
do
read -p "请输入两个参数:" a b
expr $a + 0 >/dev/null 2>&1
[ $? -ne 0 ] && continue
expr $b + 0 >/dev/null 2>&1
[ $? -ne 0 ] && continue||break
done
echo "$a+$b = $(($a+$b))"
echo "$a/$b = $(($a/$b))"
echo "$a*$b = $(($a*$b))"
echo "$a**$b = $(($a**$b))"
echo "$a%$b = $(($a%$b))"
done
三:
输入两个参数,先判断是否是2个参数,然后判断是否为整数,然后再进行运算
eg:
#! /etc/sh
#Author:gaoq
#Date:2015-06-02
#Email: 1473418313@qq.com
a=$1
b=$2
pt(){
echo "请输入争取的格式:sh $0 num1 num 2"
exit 1
}
if [ $# -ne 2 ];then
pt
fi
expr $a + 0 >/dev/null 2>&1
[ $? -ne 0 ] && pt
expr $b + 0 >/dev/null 2>&1
[ $? -ne 0 ] && pt
echo "$a+$b = $(($a+$b))"
echo "$a/$b = $(($a/$b))"
echo "$a*$b = $(($a*$b))"
echo "$a**$b = $(($a**$b))"
echo "$a%$b = $(($a%$b))"
#Author:gaoq
#Date:2015-06-02
#Email: 1473418313@qq.com
a=$1
b=$2
pt(){
echo "请输入争取的格式:sh $0 num1 num 2"
exit 1
}
if [ $# -ne 2 ];then
pt
fi
expr $a + 0 >/dev/null 2>&1
[ $? -ne 0 ] && pt
expr $b + 0 >/dev/null 2>&1
[ $? -ne 0 ] && pt
echo "$a+$b = $(($a+$b))"
echo "$a/$b = $(($a/$b))"
echo "$a*$b = $(($a*$b))"
echo "$a**$b = $(($a**$b))"
echo "$a%$b = $(($a%$b))"
本文介绍如何使用Shell脚本处理用户输入的参数,并在确保参数为整数的前提下进行基本数学运算。通过示例展示了如何读取用户输入、验证输入格式及执行加减乘除等操作。

被折叠的 条评论
为什么被折叠?



