一: -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))"