ICode9

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

for、while、until 例题

2021-07-20 11:34:55  阅读:284  来源: 互联网

标签:sum 用户 echo 密码 while 选购 例题 until 输入


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=0
for ((i=1;i<=100;i++))
do
  a=$[$a+$i]
done
echo $a

 

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

#!/bin/bash

e=0

read -p "请输入小于100的整数:" a

for ((i=1;i<=$a;i++))
{
  e=$[$e+$i]
}
echo "从一加到$a的整数和为:$e"

 

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

#!/bin/bash
a=0
for ((i=1;i<=100;i+=2))
{
  a=$[$a+$i]
}
echo "1-100之间所有奇数的和为$a"

b=0
for((i=2;i<=100;i+=2))
{
  b=$[$b+$i]
}
echo "1-100之间所有偶数的和为$b"

 

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

#!/bin/bash
read -p "输入你要查找的用户:" user
id -u $user &> /dev/null
true=$(echo $?)
while [ $true = 0 ]
  do echo "此用户已存在"
break
  done
   while [ $true != 0 ]
    do echo "此用户不存在,我们将为你重新添加该用户,并修改密码"
      useradd $user
read -p "请输入新用户密码:" password
echo $password | passwd --stdin $user
echo "密码修改成功"
break
done

 

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

#!/bin/bash

for ip in 192.168.200.{1..254}
{
  ping -c 3 -i 0.5 -w 2 $ip > /dev/null
  if [ $? -eq 0 ];then
    echo "$ip is online" > /opt/hostlist.txt
  else
    echo "$ip is offline" > /opt/hostlist.txt
  fi
}

cat /opt/hostlist.txt

 

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

#!/bin/bash

a=123456
for i in {1..3}
{
 read -p "输入密码:" b
  if [ $a = $b ];then
   echo "正确"
    exit
  fi
}
echo "密码输入错误"

 

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

#!/bin/bash

Str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

for i in {1..8}
do
  num=$[$RANDOM % ${#Str}]
  tmp=${Str:num:1}
  password+=$tmp
done

echo "随机密码为:$password"

 

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

#!/bin/bash

a=0
i=1
sum=0
while [ $a -eq 0 ]
do
  echo "欢迎来到第 $i 家店"
  read -p "是否要进店选购?(yes/no)" doing
  while [ $doing = "yes" ]
  do
    echo "1:衣服¥500"
    echo "2:裤子¥400"
    echo "3:鞋子¥350"
    echo "4:帽子¥150"
    echo "5:袜子¥50"
    echo "6或其他:放弃选购"

    read -p "请选择你需要的商品序号:" num
    case $num in
    1)
      echo "选购衣服成功"
      sum=$[$sum + 500]
    ;;
    2)
    ;;
    3)
      echo "选购鞋子成功"
      sum=$[$sum + 350]
    ;;
    4)
      echo "选购帽子成功"
      sum=$[$sum + 150]
    ;;
    5)
      echo "选购袜子成功"
      sum=$[$sum + 50]
    ;;
    *)
      echo "放弃购买"

    esac
    read -p "是否再继续选购(yes/no)" doing
  done

  read -p "是否继续逛下一个店家(yes/no)" going
  if [ $going = "yes" ];then
    let i++
  else
    echo -e "谢谢惠顾!\n您一共逛了 $i 个店家。\n合计购物总额为>¥ $sum 。"
    exit
  fi
done

 

 

总结:换行输出要加-e,同时在需要换行的句子前加入\n

 

标签:sum,用户,echo,密码,while,选购,例题,until,输入
来源: https://www.cnblogs.com/peiqingyi/p/15034002.html

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

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

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

ICode9版权所有