Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Shell编程-while循环

Shell编程-while循环

作者头像
运维小路
发布于 2024-11-01 11:48:55
发布于 2024-11-01 11:48:55
26200
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:

Shell编程-什么是shell

Shell编程-变量

Shell编程-数据类型

Shell编程-逻辑判断

Shell编程-if判断

Shell编程-if和else

Shell编程-while循环(本章节)

Shell编程-for循环

Shell编程-case

Shell编程-break

Shell编程-continue

Shell编程--函数

Shell编程-案例(一)

Shell编程-案例(二)

Shell编程-小结

前面两小节,我们讲了if判断及if和else判断,下面我们讲2个循环,一个是while循环,一个for循环。

while 是Shell脚本中用于创建循环的另一个关键字,它不同于 for 循环,while 循环会根据条件的真假重复执行一段代码块,直到条件不再满足为止。

基本语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
while condition
do
    # 在循环中执行的命令或代码块
done

condition 是一个用于测试真假的表达式或命令。在每次循环迭代开始时,都会检查 condition 的值。如果条件为真,则执行循环体中的代码块;如果条件为假,则结束循环。

示例:

使用计数器进行循环:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash

# 使用 while 循环输出 15 的数字
counter=1
while [ $counter -le 5 ]
do
    echo "Counter: $counter"
    counter=$((counter + 1))  # 计数器加一
done

在这个示例中,while [ $counter -le 5 ] 检查 counter 的值是否小于等于 5。只要条件成立,即 counter 小于等于 5,就会输出当前计数器的值并将计数器递增,当counter大于5的时候则会退出循环。

从文件中读取内容:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash

# 从文件中逐行读取内容并输出
file="example.txt"

while IFS= read -r line
do
    echo "Line: $line"
done < "$file"

在这个例子中,while IFS= read -r line 从文件 example.txt 中逐行读取内容,并将每行内容赋给变量 line,然后输出每行的内容。IFS=-r 是为了确保读取的内容不被意外处理,保持其原始格式,当所有行被打印完毕,则会退出整个循环。

死循环:

前面2个循环都有比较明确的退出条件,但是有的时候需要长期执行,也就是不退出这个循环。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash

count=1
while true; do
    echo "this is test $count."
    ((count++))
    sleep 1
done

在这个脚本就写出来可以看到执行过程,每次执行停止1秒,显示也会更加友好,你不主动停止,它会持续执行。这个脚本可以把echo命令换成更加具体的命令,比如不停的向数据库或者其他中间里面插入数据,如果为了插入更多的数据,可以把sleep取消。如果希望关掉登录窗口也可以执行,可以参考Linux进阶命令-nohup&screen,配置到后台这样它就可以持续为我们的服务。

总结

  1. while循环,如果不给它退出条件,它会持续运行,俗称死循环。
  2. while循环,也可以给它设定条件,只要达到条件就会自动退出。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Shell编程-continue
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1640
Shell编程-continue
[Shell编程学习路线]——While循环应用技巧 (详细讲解)
在Shell编程的世界中,while循环是另一个强大的控制结构,与for循环一样,它在自动化任务和脚本编写中扮演着重要角色。while循环的灵活性使其能够处理各种条件控制的任务,从简单的计数器到复杂的逻辑判断,while循环都能提供有效的解决方案。
神秘泣男子
2024/06/22
7730
[Shell编程学习路线]——While循环应用技巧 (详细讲解)
Shell编程-if判断
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1220
Shell编程-if判断
Shell编程-if和else
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
2020
Shell编程-if和else
Shell编程
文章目录 1. Shell编程 1.1. 变量 1.2. 位置参数变量 1.2.1. $*与$@的区别 1.2.2. 实例 1.3. 预定义变量 1.4. 运算符 1.4.1. 基本语法 1.4.2. 实例 1.5. 判断语句 1.5.1. 基本语法 1.5.2. 常用判断条件 1.5.3. 实例 1.6. 流程控制 1.6.1. if 1.6.1.1. 基本语法 1.6.1.2. 实例 1.6.2. case 1.6.2.1. 基本语法 1.6.2.2. 实例 1.6.3. for循环 1.6.3.1
爱撒谎的男孩
2019/12/31
6060
Shell编程
Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。
用户4870038
2021/02/05
5.3K0
Shell编程
Shell编程-案例(一)
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1620
Shell编程-案例(一)
Shell编程-for循环
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
2170
Shell编程-for循环
Shell编程-break
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1750
Shell编程-break
Shell编程从入门到精通
Shell 是一个用 C 语言编写的程序, 通过 Shell 用户可以访问操作系统内核服务。 它类似于 DOS 下的 command 和后来的 cmd.exe。 Shell既是一种命令语言,又是一种程序设计语言。
硅谷子
2020/12/19
1K0
Shell编程从入门到精通
shell脚本编程之路3
描述:我们学过的每一种高级编程语言,都在存在流程/分支选择/循环等结构,同样shell编程中也有这是与windows上的bat编程不一样的点;shell选择分支嵌套建议不超过三层,为了执行的效率和其他人容易读懂;
全栈工程师修炼指南
2022/09/28
5660
shell脚本编程之路3
Shell编程-变量
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1390
Shell编程-变量
Shell编程-case
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1480
Shell编程-case
shell中 for while until 语法和案例
Shell编程中,有几种常见的循环结构,包括for循环、while循环和until循环,总的来说,循环在Shell编程中扮演着至关重要的角色,它们使得自动化任务变得更加容易,提高了效率,并且可以处理各种各样的编程需求。
神秘泣男子
2024/04/09
2320
shell中 for while until 语法和案例
Shell编程-什么是shell
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
2930
Shell编程-什么是shell
[Shell编程学习路线]——if条件语句(单,双,多分支结构)详细语法介绍
条件语句是编程中的基本构建块之一,if语句在Shell脚本中起着至关重要的作用。通过if语句,你可以根据不同的条件执行不同的代码,从而使脚本具备决策能力和灵活性。本篇指南将详细介绍Shell中的if条件语句,包括单分支、双分支和多分支结构,帮助你掌握条件判断的基本语法和使用技巧。无论是简单的判断还是复杂的条件组合,这里都有你需要的知识。让我们一同学习如何编写更智能、更高效的Shell脚本吧!
神秘泣男子
2024/06/18
9060
[Shell编程学习路线]——if条件语句(单,双,多分支结构)详细语法介绍
shell循环语句
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163938.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
7440
shell循环语句
Shell编程-数据类型
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1300
Shell编程-数据类型
Shell编程-函数
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1420
Shell编程-函数
08·Shell编程-循环
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
3940
相关推荐
Shell编程-continue
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验