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次
相关推荐
孙克旭_4 小时前
PXE_Kickstart_无人值守自动化安装系统
linux·运维·自动化
皓月盈江5 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水5 小时前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung5 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
忧虑的乌龟蛋7 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar7 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao8 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm
稳联技术8 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络
烟雨迷8 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
Bruk.Liu9 小时前
Linux 上安装RabbitMQ
linux·服务器·rabbitmq