【Linux】shell编程之循环语句

article/2025/8/2 17:30:48

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、循环语句
  • 二、for循环语句
    • 1.for 语句的结构
    • 2.for语句应用示例
  • 三、while 循环语句
    • 1.while 循环语句结构
    • 2.while语句应用示例
  • 四、until 循环
  • 五、跳出循环
  • 六、死循环


一、循环语句

循环是一种控制流程的结构,用于重复执行一段代码。
而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素。
在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。

循环 (Loop) 是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写。
提高代码的重复利用率,以及提高程序的效率。以下是使用循环的一些好处:

  • 重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写.减少程序代码量,提高程序的可读性和可维护性。
  • 简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性,降低代码出错的可能性。
  • 提高代码的重复利用率;通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。
  • 提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工于预的次数,提高程序的效率和性能。

二、for循环语句

1.for 语句的结构

  • 读取不同的变量值,用来逐个执行同一组命令
for 变量名 in 取值列表
do命令序列
done

在这里插入图片描述

2.for语句应用示例

  • 要求
    1.用户名存放在yonghu.txt文件中,每行一个
    2.初始密码均设为123456
    3.验证脚本
    在这里插入图片描述

三、while 循环语句

1.while 循环语句结构

  • 重复测试某个条件,只要条件成立则反复执行
while  条件测试操作
do
命令序列
done

在这里插入图片描述

2.while语句应用示例

示例1:提示用户输入一个小于等于100的整数,并计算从1到该数之间所有整数的和
在这里插入图片描述
示例2:用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
在这里插入图片描述

四、until 循环

  • until循环与for,while循环不同的是,until循环是只要条件不符合就会一直循环,直到条件符合后才会退出循环
until 条件测试操作  
do    
命令序列  
done

在这里插入图片描述

五、跳出循环

  • break

在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。可以使用 break 命令来提前终止循环,例如当达到特定条件时或者已经执行了足够的次数。

  • continue

在循环内部,当执行到 continue 命令时,会跳过本次循环剩余的代码,并继续下一次循环。可以使用 continue 命令来跳过循环中的某些操作,例如在特定条件下跳过一次循环,或者只执行符合条件的循环。

  • exit

在循环内部,当执行到 continue 命令时,会退出整个脚本。可以使用 exit命令来提前终止整个脚本。

六、死循环

死循环也就是无限循环,是指程序陷入无法出来,而持续运行的一种情形,可能会导致Linux系统死机,导致计算机卡死等现象

for  ((;;))                  ##直接写判断条件为真(for循环)
while  [ 1  -eq  1 ]         ##判断条件为一个永久为真的条件
while  true                  ##直接写判断条件为真(while循环)
while  :                     ##判断条件为冒号也表示死循环

http://chatgpt.dhexx.cn/article/yqi41s21.shtml

相关文章

shell-循环

接上一篇shell运算符接着往下说,shell循环: shell循环有三种,一种是for循环,一种是while循环,还有一种是until循环,循环体中和java类似,可以使用break调出当前循环,continue继续下一…

linux\bash shell for命令\循环

内容来自《Linux命令行与shell脚本编程大全.第3版 (布鲁姆,布雷斯纳汉)》for命令 下面是基本格式: for var in list # 或者把do也写在这一行:for var in list; do docommands done例如,读取列表: for test in A…

linux用while循环输出1到10,Linux Shell系列教程之(十一)Shell while循环 | Linux大学...

摘要 在上一篇Linux Shell系列教程之(十)Shell for循环中,我们已经对Shell 循环语句的for循环进行了介绍,本篇给大家介绍下Shell 中另一种循环语句:Shell while循环。 在上一篇Linux Shell系列教程之(十)Shell for循环中,我们已经…

Linux命令行循环执行shell命令浅谈

本文主要介绍了Linux命令行,循环执行shell命令的相关知识,主要包括死循环,普通计数循环,以及Linux shell循环命令 while死循环的用法,需要的朋友可以参考下 Linux命令行,循环执行shell命令 死循环 命令格式 1 while t…

Linux中shell的循环语句

目录 一、循环语句 1、for循环语句 批量添加未存在的用户,用户名存放在users.txt文件中,每行一个初始密码均设为123456,新增users.txt 文件,vim users.txt 录入用户 2、while循环语句 通过变量RANDOM获得1-999随机数,提示用户猜测…

【LinuxShell】Shell编程之循环语句

文章目录 前言一、循环1.循环的作用2.循环和遍历 二、for循环语句1.for语句的用法2.for逻辑结构3.for语句的格式4.echo的用法5.for语句的典型案列 三、while循环语句1.while语句的用法2.while逻辑结构3.while语句的格式4.while语句的典型案例 四、until命令1.until语句的用法2.…

【Linux】:shell循环语句

运行Shell脚本有两种方法: 1、vi test.sh #! /bin/bash #编写内容 运行sh test.sh 2、chmod x ./test.sh #脚本具有执行权限 ./test.sh #执行脚本 if条件判断 单分支if条件: if [ 条件判断式 ]then程序 fi注意:中括号与条件判断式之间有空…

shell脚本循环执行一个linux命令,shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。 一、for命令 格式:for 变量 in 列表;do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环。 列表形式有以下几种&a…

Linuxshell脚本之循环语句

目录 一、循环 1.循环的含义 2.重复运行次数 3.常见的循环命令 4.循环示意图 二、For语句 1.定义 2.表达式 (1)for循环 (2)算术for循环 (3)嵌套 ​ 三、while语句 1定义 2.格式 3.while循…

【Linux】 Shell循环

for循环遍历 { }C语言风格的for 遍历 while 循环 while test测试成立 do命令 donewhile : # 相当于while true until循环 与while 循环相反 until 循环 while test测试不成立 do命令 donecontinue & break 嵌套的时候 if 要和 fi 在一起 do 要和done 在一起 (相邻最…

二、马尔可夫决策过程与贝尔曼方程

这里写目录标题 1 马尔可夫性质2 马尔可夫过程3 马尔可夫奖励过程(Markov reward process, MRP)3.1 MRP的贝尔曼方程3.2 MRP的贝尔曼方程求解方法3.3 总结 4 马尔可夫决策过程(Markov decision process, MDP)4.1 MDP状态价值函数贝…

马尔可夫决策过程和贝尔曼方程

马尔可夫决策过程(MDP)简介 下一个状态 S t 1 S_{t1} St1​是从概率分布P中得到的,该概率分布P取决于整个历史,因此我们需要考虑从 s 0 s_0 s0​开始到t时刻的状态。马尔可夫是具有马尔可夫性质的随机过程 定义 P [ S t 1 ∣ S t ] P [ …

贝尔曼方程(Bellman Equation)

贝尔曼方程(Bellman Equation)也被称作动态规划方程(Dynamic Programming Equation),由理查贝尔曼(Richard Bellman)发现,由于其中运用了变分法思想,又被称之为现代变分法…

强化学习:贝尔曼方程(Bellman Equation)

∗ ∗ 重点:状态值、贝尔曼方程 ∗ ∗ **重点:状态值、贝尔曼方程** ∗∗重点:状态值、贝尔曼方程∗∗ return评估策略 在前面概念介绍中,我们知道了可以用 return 来评估一个策略的好坏。如图,有三个不同的策略&…

贝尔曼方程推导

马尔可夫的动态特性: 回报:(两种定义) 或 (折扣率大于等于0小于等于1,折扣率决定了未来收益的现值) 状态价值函数:从状态s开始,智能体按照策略π进行决策所获得回报的…

【机器学习】带你轻松理解什么是强化学习中的贝尔曼方程

系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一、什么是贝尔曼方程 二、贝尔曼方程为什么有用 三、贝尔曼方程是怎么来的 总结 前言 贝尔曼方程是强化学习中最重要的一个方程式。如果可以计算状态S 的状态动作函数 Q(s,a)&#xff0c…

强化学习/动态规划:贝尔曼方程的解读 Bellman Equation 贝尔曼方程组 / 贝尔曼最优方程

前言: 读书《Reinforcement Learning: An Introduction Second Edition》,读到第三章有限马尔科夫决策过程MDP中,提到了贝尔曼方程的理解。一开始我是有点懵逼的,现在看懂了其意思,在这里解释一下。 贝尔曼方程理解 下…

贝尔曼方程

贝尔曼方程在强化学习中无处不在,对于理解强化学习算法的工作原理是非常必要的。贝尔曼方程让我们可以开始解决MDPs问题。 贝尔曼期望方程 贝尔曼最优方程 将贝尔曼期望方程与贝尔曼最优方程进行对比,可以发现,贝尔曼期望方程是对于某一个给…

【RL】Bellman Equation 贝尔曼方程(动态规划)

参考:蘑菇书-《EasyRL》 本文只是为了方便自己今后的查阅对原文做出的一些概括。 马尔可夫奖励过程MRP 马尔可夫奖励过程是马尔可夫链加上奖励函数,奖励函数R是一个期望,表示到达某一个状态时可以获得多大的奖励。如果状态数是有限的&#x…

3.1 贝尔曼(bellman)方程

假设智能体观测到状态 s 0 s_0 s0​,并且有 N N N个可用action,每个action都会导致另一种状态,及相应的奖励。另外,假设我们知道与状态s0相连的所有状态的价值 V i V_i Vi​。在这种情况下,智能体可以采取的最佳行动是…