[Shell编程学习路线]——While循环应用技巧 (详细讲解)

 

🏡作者主页:点击! 

🛠️Shell编程专栏:点击!

⏰️创作时间:2024年6月20日16点30分

🀄️文章质量:95分


目录

————前言————

基本结构

图示原理

示例

测试

举一反三

总结


————前言————

在Shell编程的世界中,while循环是另一个强大的控制结构,与for循环一样,它在自动化任务和脚本编写中扮演着重要角色。while循环的灵活性使其能够处理各种条件控制的任务,从简单的计数器到复杂的逻辑判断,while循环都能提供有效的解决方案。

在这篇文章中,我们将深入探讨Shell脚本中的while循环,了解其基本语法和高级应用。通过多个实例演示,帮助你掌握while循环的各种使用技巧,提升脚本编写的效率和精度。不论你是初学者还是有一定经验的开发者,这里都有你需要的实用知识和技巧。

while 循环是 Shell 脚本中最简单的一种循环结构,它允许您根据指定的条件重复执行一组语句。当条件 为真时,循环将继续执行;当条件为假时,循环将停止。

基本结构

while 条件测试
do
执行的语句块
done

其中: 条件测试 :表示要判断的条件。该条件可以是任何 shell 表达式,其返回值为真或假。

执行的语句块 :表示将在条件为真时重复执行的语句。该语句块可以包含多个语句,使用分号分 隔。

图示原理


while循环的执行流程可以分为以下几个步骤:


1.判断条件:首先,shel‖会执行whTe循环的条件测试部分。如果条件为真,则进入循环体;如果
条件为假,则跳过循环体,直接执行done之后的语句。


2.执行循环体:如果条件为真,则执行wTe循环的循环体部分。循环体中的语句将逐个执行。


3.更新条件:执行完循环体中的语句后,she会更新while循环的条件测试部分。通常情况下,条
件测试会涉及循环变量或其他会随着循环而变化的值。


4.重复步骤1-3:重复步骤1-3,直到条件为假为止。

示例

使用while循环来添加用户 用户的添加格式为 user1 user2 user3 一次类推...... 编写脚本

vim while.sh
#!/bin/bash
i=1
while [ $i -le 6 ]
do
useradd user$i
echo "成功创建用户 user$i"
let i++
done

#!/bin/bash :此行指定用于运行脚本的解释器,在本例中为 Bash。

i=1 :该行用值 1 初始化变量 i 。 while [ $i -le 6 ] :此行启动 while 循环,只要 i 的值小于或等于 6,该循环就会继续。

useradd user$i :在循环内, useradd 命令用于创建一个名为“user”的用户,后跟 i 的当前值。例 如,在第一次迭代中 i 为 1,因此创建的用户为“user1”。

echo "Successfully created user user$i" :此行在创建每个用户后打印一条成功消息。

let i++ :此行在每次循环迭代后将 i 的值增加 1。

测试

tail -6 /etc/passwd

举一反三

刚刚我们通过脚本创建了用户,现在我们在创建一个脚本来删除刚刚创建的用户

编写脚本

vim while.sh
#!/bin/bash
i=1
while [ $i -le 6 ]
do
userdel -r user$i
echo "成功删除用户 user$i"
let i++
done

可以看到每个用户都是有家目录的 我们删除用户的时候把家目录也删除掉

[root@localhost ~]# ls /home
hello joke ok user1 user2 user3 user4 user5 user6

总结

通过这些实例,相信你已经对while循环有了更深刻的理解和更熟练的掌握。在今后的编程实践中,希望你能灵活运用while循环,为解决各种自动化任务提供高效的解决方案。while循环的灵活性和强大功能,使其成为Shell脚本编程中不可或缺的工具。

继续探索Shell编程的其他强大功能,不断提升你的编程能力,期待你在Shell脚本编写中取得更多成就!让while循环成为你编程工具箱中的一把利器,助你在Shell编程的道路上走得更远。

 "成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

评论 77
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘泣男子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值