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次
相关推荐
2401_826097621 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)2 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
爱莉希雅&&&2 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊2 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣2 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ3 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人3 小时前
centos8.5安装jdk21详细安装教程
java·linux
小小小糖果人3 小时前
Linux云计算基础篇(5)
linux·运维·服务器
small_wh1te_coder4 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
小张是铁粉4 小时前
docker在Linux的安装遇到的问题
linux·docker·容器