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次
相关推荐
Uncertainty!!1 小时前
Linux多用户情况下个别用户输入密码后黑屏
linux·远程连接
necessary6531 小时前
使用Clion查看linux环境中的PG源码
linux·运维·服务器
小猪佩奇TONY3 小时前
Linux 内核学习(14) --- linux x86-32 虚拟地址空间
linux·学习
Lam㊣3 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
FL16238631293 小时前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
石头5303 小时前
Kubernetes监控全栈解决方案:从零搭建Prometheus+Grafana监控体系
linux
ha20428941943 小时前
Linux操作系统学习记录之---TcpSocket
linux·网络·c++·学习
AOwhisky4 小时前
Linux逻辑卷管理:从“固定隔间”到“弹性存储池”的智慧
linux·运维·服务器
C Yu小白5 小时前
Linux系统调用与文件操作详解
linux·运维·服务器
ZFB00015 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——常见用户组简介
linux·运维·kylin