shell 脚本实验 -5 while循环

1、通过while实现 1-100 相加的脚本

vim jiafa.sh

js 复制代码
#!/bin/bash
sum=0
i=0
while [ $i -le 100 ]
do
sum=$[i+sum]
let i++
done
echo $sum


测试
[root@localhost opt]# bash jiafa.sh 
5050
[root@localhost opt]# 

2、通过while实现useradd添加用户

vim user.sh

js 复制代码
#!/bin/bash
i=1
while [ $i -le 20 ]
do
if id stu$i
then
echo "用户已存在"
let i++
else
useradd -M -s /sbin/nologin stu$i
echo "123456" | passwd --stdin stu$i
let i++
fi
done



测试
[root@localhost opt]# bash user.sh 
id: stu1: no such user
更改用户 stu1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu2: no such user
更改用户 stu2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu3: no such user
更改用户 stu3 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu4: no such user
更改用户 stu4 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu5: no such user
更改用户 stu5 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu6: no such user
更改用户 stu6 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu7: no such user
更改用户 stu7 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu8: no such user
更改用户 stu8 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu9: no such user
更改用户 stu9 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu10: no such user
更改用户 stu10 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu11: no such user
更改用户 stu11 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu12: no such user
更改用户 stu12 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu13: no such user
更改用户 stu13 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu14: no such user
更改用户 stu14 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu15: no such user
更改用户 stu15 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu16: no such user
更改用户 stu16 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu17: no such user
更改用户 stu17 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu18: no such user
更改用户 stu18 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu19: no such user
更改用户 stu19 的密码 。
passwd:所有的身份验证令牌已经成功更新。
id: stu20: no such user
更改用户 stu20 的密码 。
passwd:所有的身份验证令牌已经成功更新。

3、通过while实现猜商品价格游戏

vim cai.sh

js 复制代码
#猜商品价格
#通过变量RANDOM获得随机数
#提示用户猜测并记录次数,猜中后退出循环

p=`echo $[RAMDOM%1000+1]`
t=0
while true
do
read -p "请输入你猜的价格:" h
let t++
if [ $h -eq $p ]
then
echo "恭喜你猜中了,商品的价格是${p},您一共猜了${t}次"
exit
elif [ $h -gt $p ]
then
echo "您猜的价格过高"
elif [ $h -lt $p ]
then
echo "您猜的价格过低"
else
echo "您的输入有误,请重新输入价格0-1000"
bash $0
fi
done


测试
[root@localhost opt]# bash cai.sh 
请输入你猜的价格:500
您猜的价格过高
请输入你猜的价格:250
您猜的价格过高
请输入你猜的价格:125
您猜的价格过高
请输入你猜的价格:55
您猜的价格过高
请输入你猜的价格:20
您猜的价格过高
请输入你猜的价格:10
您猜的价格过高
请输入你猜的价格:6
您猜的价格过高
请输入你猜的价格:3
您猜的价格过高
请输入你猜的价格:2
您猜的价格过高
请输入你猜的价格:1
恭喜你猜中了,商品的价格是1,您一共猜了10次
相关推荐
正在努力的小河40 分钟前
Linux设备树简介
linux·运维·服务器
荣光波比42 分钟前
Linux(十一)——LVM磁盘配额整理
linux·运维·云计算
LLLLYYYRRRRRTT1 小时前
WordPress (LNMP 架构) 一键部署 Playbook
linux·架构·ansible·mariadb
轻松Ai享生活1 小时前
crash 进程分析流程图
linux
大路谈数字化3 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos
luoqice4 小时前
linux下查看 UDP Server 端口的启用情况
linux
倔强的石头_5 小时前
【Linux指南】动静态库与链接机制:从原理到实践
linux
赏点剩饭7785 小时前
linux中的hostpath卷、nfs卷以及静态持久卷的区别
linux·运维·服务器
神鸟云5 小时前
DELL服务器 R系列 IPMI的配置
linux·运维·服务器·网络·边缘计算·pcdn
herderl5 小时前
**僵尸进程(Zombie Process)** 和**孤儿进程(Orphan Process)**
linux·运维·服务器·网络·网络协议