shell双重循环之小实验

写一个逛网上商城选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总

#!/bin/bash

PRICE=$( expr $RANDOM % 1000)

TIMES=0

echo "商品实际价格为0-999之间,猜猜看是多少?"

while true

do

read -p "请输入你猜测的价格数目:" INT

let TIMES++

if [ $INT -eq $PRICE ]

then

echo "恭喜你答对了,实际价格为 $PRICE"

echo "你总共猜测了 $TIMES 次"

exit 0

elif [ $INT -gt $PRICE ]

then

echo "太高了!"

else

echo " 太低了!"

fi

done

将一个点分十进制格式的IP地址转换成点分二进制格式。

#!/bin/bash
read -p "请输入ip" a
e=.    #定义变量值为.作为分隔符
a1=`echo $a | awk -F. '{print $1}'`
a2=`echo $a | awk -F. '{print $2}'`
a3=`echo $a | awk -F. '{print $3}'`
a4=`echo $a | awk -F. '{print $4}'`
#分段定义变量
for b in $a1 $a2 $a3 $a4  #以变量作为变量值也为外循环的循环次数
do
  for i in 128 64 32 16 8 4 2 1   #表示循环8次每次循环变量i的值 
  do
   if [ $b -ge $i ]      #判断大于等于变量i则减去并输出变量c=1其他为0
   then
    b=$[$b-$i]
    c=1
   else
    c=0
   fi
  d=$d$c   #内循环迭代
  done
     if [ ${#d} -eq 35 ]#判断当变量d的参数个数等于35是退出此次循环
     then
      break
     fi
 d=$d$e #外循环迭代
done
 echo "本次十进制IP转二进制结果为:$d"
 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值