循环语句练习

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

#!/bin/bash
# 计算从1100所有整数的和
sum=0

for i in {1..100}
do
        sum=$[ $sum + $i ]

done
        echo "1到100的整数和为:$sum"

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

#! /bin/bash
# 提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
sum=0
read -p "请输入一个小于100的整数:" n
if [ $n -lt 100 -a $n -ge 1 ] &> /dev/null;then

for ((i=1; i<=$n; i++))
do
sum=$[$sum + $i]
done
echo "从1加到$n的总和为$sum"
fi

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

# 方法一:
#!/bin/bash
#求从1100所有整数的偶数和、奇数和

sum=0
for ((i=1; i<=100; i+=2))
do
        sum=$[ $sum + $i ]
done
        echo "奇数和为:$sum"

sum1=0
for ((a=2; a<=100; a+=2))
do
        sum1=$[ $sum1 + $a ]
done
        echo "偶数和为:$sum1"


#!/bin/bash


# 方法二:
# 1100的所有整数的偶数和,奇数和

sum=0
sum1=0

for i in {1..100}

do
        if [ $[$i%2] -eq 0 ];then
        sum=$[$sum+$i]
        else
        sum1=$[$sum1+$i]
        fi
done
        echo "1到100的偶数和为 $sum"

        echo "1到100的奇数和为 $sum1"


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

#!/bin/bash
# 执行脚本输入用户名,若该用户存在,输出提示该用户已存在;该用户不存在,>提示用户输入密码,建立用户并设立密码

read -p "请输入用户名:" n
id $n &> /dev/null

if [ $? = 0 ];then
echo "$n用户已存在"
else
        read -p "请输入密码:" s
        useradd $n
        echo "$s" | passwd --stdin $n
fi                   

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

#!/bin/bash
# 检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中

for i in 192.168.118.{11..15}
do
ping -c 2 -i 0.5 -W 1 $i &> /dev/null
if [ $? = 0 ];then
        echo "$i is online" >> host_ip
        else
        echo "$i is offline" 
        fi
done        

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

#!/bin/bash
# 用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3次则
报警

n=3
p=123123
sum=0

while true
do
  read -p "输入密码:" p1
  sum=$((sum+1))
  if [ $p1 -eq $p ];then
        echo "输入正确"
        exit
  elif [ $sum -eq $n ];then
        echo "报警"
        exit
  else
        echo "输入错误,请重新输入"
  fi
done

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

#!/bin/bash
# 编写能够自动生成一个8位随机密码的脚本

s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYE1234567890"
for i in {1..8}
do
        n=$[RANDOM%62]
        t=${s:n:1}
        p+=$t
done
        echo "$p"

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

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


sum=0
for((;;))
do
        echo "1 衣服:500"
        echo "2 裤子:500"
        echo "3 鞋子:500"
        echo "4 帽子:500"
        echo "5 袜子:500"

read -p "请选择你要购买的礼物:" a
case $a in
1)
        echo "您已购买了衣服500元"
        sum=$[ $sum+500 ]
;;
*)
        echo "欢迎下次光临,您本次消费共$sum元"

esac

read -p "您选择继续购物还是结算购物车?(y/n):" b
if [ $b = y ];then
continue
elif [ $b = n ];then
        echo "欢迎下次光临,您本次消费共$sum元"
else
        echo "重新输入"
fi
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值