前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Shell编程学习路线]——While循环应用技巧 (详细讲解)

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

作者头像
神秘奇男子
发布2024-06-22 08:29:49
1240
发布2024-06-22 08:29:49
举报
文章被收录于专栏:运维知识运维知识

————前言————

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

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

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

基本结构
代码语言:javascript
复制
while 条件测试
do
执行的语句块
done

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

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

图示原理

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

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

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

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

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

示例

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

代码语言:javascript
复制
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。

测试
代码语言:javascript
复制
tail -6 /etc/passwd
举一反三

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

编写脚本

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

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

代码语言:javascript
复制
[root@localhost ~]# ls /home
hello joke ok user1 user2 user3 user4 user5 user6

总结

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

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

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!" "每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。" 神秘泣男子

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ————前言————
    • 基本结构
      • 图示原理
        • 示例
          • 测试
            • 举一反三
            • 总结
            相关产品与服务
            腾讯云服务器利旧
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档