代码如下:
#!/bin/bash
#提前定义商品、价格,方便后序编写
A="外套"
B="裤子"
C="鞋子"
D="帽子"
a=500
b=400
c=300
d=200
sum=0
count=0
#设置标题
echo -e "\033[5;46;30m----------------------\033[0m"
echo "欢迎进入商场购物平台 "
echo -e "\033[5;46;30m----------------------\033[0m"
#使用read语句输入
read -p "是否进入商城平台(yes/no):" ack
#使用if语句判断
if [ $ack = "yes" ]
then
#使用for语句,依次进行四个商店
for ((i=1;i<=4;i++))
do
echo "你已进入第$i家商店"
echo "商品如下:"
echo "1 $A : $a ¥"
echo "2 $B : $b ¥"
echo "3 $C : $c ¥"
echo "4 $D : $d ¥"
#使用while语句判断,i的值是否符合条件,是否正确
while true
do
read -p "是否购买上述那些商品(yes/no): " T
#使用if语句判别是否购买商品
if [ $T = yes ]
then
read -p "输入要购买的商品序号:" number
#由于商品序号存在多个,所以使用case语句,对每一个商品执行不同的命令
case $number in
1)
echo "成功购买$A"
#使用let语句,统计商品个数,在case语句中,会依次叠加
let count++
#使用该语句计算机消费总的金额
sum=`expr $sum + $a`
;;
2)
echo "成功购买$B"
let count++
sum=`expr $sum + $b`
;;
3)
echo "成功购买$C"
let count++
sum=`expr $sum + $c`
;;
4)
echo "成功购买$D"
let count++
sum=`expr $sum + $d`
;;
*)
echo "输入错误,无法识别"
esac
#使用elif语句,来判断是否进入商店,如果不进入商店,则使用break语句结束此次循环
elif [ $T = "no" ]
then
echo "你已经退出第$i家店"
break
#使用else语句,判断是否正确输入yes/no
else
echo "输入错误,无法识别,重输入"
fi
done
done
#在结束整个for循环之后,输出统计的商品个数和消费金额
echo "你一共购买:$count件商品,消费:$sum元"
#判断开始是否进入该平台购买商品
elif [ $ack = "no" ]
then
echo "你已经退出"
exit 0
fi