ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

归纳循环语句脚本练习

2021-08-01 18:32:48  阅读:139  来源: 互联网

标签:语句 do 归纳 sum 练习 用户 echo done 100


循环语句脚本练习

1.计算从1到100所有整数的和

2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

3.求从1到100所有整数的偶数和、奇数和

4.执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码

5.检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中

6.用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3次则报警

7.编写能够自动生成一个8位随机密码的脚本

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

 

1.计算从1到100所有整数的和

#!/bin/bash

a=1
sum=0
while [ $a -le 100 ]
do
  sum=$[$sum + $a]
  let a++
done
echo $sum

 2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

a=0
sum=0
read -p "请输入数字(0-100):" num
while [ $num -le 100 ] && [ $a -le $num ]
do
 sum=$[$sum + $a]
 let a++
done
echo $sum 

3.求从1到100所有整数的偶数和、奇数和

i=0
jh=0
oh=0
while [ $i -le 100 ] 
do
  if [ $[$i % 2] -eq 0 ];then
  oh=$[$oh + $i]
  else
  jh=$[$jh + $i]
  fi
  let i++

done
  echo "奇数和为 $jh"
  echo "偶数和为 $oh"

4.执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码

#!/bin/bash

read -p "请输入您的用户名:" user
cat /etc/passwd | grep $user &> /dev/null
a=$?
while [ $a -eq 0 ]
do
 echo "该用户已存在"
exit

done

while [ $a -ne 0 ]
do
 useradd $user
 read -p "请输入新用户密码:" passwd
 echo $passwd | passwd --stdin $user
exit

done

 5.检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中

for i in 192.168.70.{0..20}
do
 ping -i 0.5 -c 3 -w 2 $i &> /dev/null
 if [ $? -eq 0 ];then
   echo $i >> ~/host_ip
 else
   echo "$i 不在线"
 fi
done

 6.用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3次则报警

#!/bin/bash

mima=123456

for i in {1..3}
do
  read -p "输入密码:" ps
  if [ $ps = $mima ];then
  echo "正确!"
  exit
  fi
done
  echo "密码输入三次,无法进入!"

 7.编写能够自动生成一个8位随机密码的脚本

#! /bin/bash
Str="abedefghijklnmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
for i in {1..8}
do
    num=$[RANDOM%${#Str}]
    tmp=${Str:num:1}
    pass+=$tmp
done

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

#!/bin/bash
i=1
sum=0
while true
do
 echo "来到第$i家商店门口"
 read -p "是否进入看看(yes/no)" doing
 while [ $doing = "yes" ]
 do
  echo "1:衣服¥200"
  echo "2:鞋子¥150"
  echo "3:手套¥40"
  echo "4:裤子¥155"
  echo "其他:放弃购买"
  read -p "请选择需要购买的商品序列:" num
  case $num in
  1)
   echo "衣服购买成功"
   sum=$[sum+=200]
   ;;
  2)
   echo "鞋子购买成功"
   sum=$[sum+=150]
   ;;
  3)
   echo "手套购买成功"
   sum=$[sum+=40]
   ;;
  4)
   echo "裤子购买成功"
   sum=$[sum+=155]
   ;;
  *)
   echo "放弃购买"
            
  esac
  read -p "是否继续在这家店购物(yes/no)" doing      
 done 

 read -p "是否继续逛街(yes/no)" going
 if [ $going = "yes" ]
 then
  let i++
 else
  break
 fi 
done
echo -e "一共经过$i家店\n合计购物总价:$sum"

 

 

标签:语句,do,归纳,sum,练习,用户,echo,done,100
来源: https://www.cnblogs.com/yhtweirdo/p/15018504.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有