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

article/2025/8/2 20:43:16

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。

一、for命令

格式:for 变量 in 列表;do

循环体

done

for命令会遍历列表中的每一个值,并且在遍历完成后退出循环。

列表形式有以下几种:

1、在命令中定义的一系列的值;

2、变量;

3、命令;

4、目录;

5、文件。

实例1:

e77940af4735812a26308396677ade60.png

上例中使用{初始值..结束值}格式来表示一个区间的数值。

实例2:以变量作为列表:

38f4c820842baacfcbb54f8c7c3885ac.png

实例3:用命令生成列表:

6d5ad24b4480e9d34f6ce1f20d702f19.png

上例中使用seq命令来生成列表,seq命令的格式为:seq [初始值 步长] 终止值

db56d5ec9ad37724d5253ea32d93080f.png

以上两个例子中使用反引号将得到命令运行的结果。

实例4:将目录作为列表:

d5894fd229f86ab10d22aec4d48f0ca7.png

二、C语言风格的for命令

格式:for (( 变量赋值;循环终止条件;步长 )); do

循环体

done

实例:求从1加到100的和:

87e108c886b3d1f877d2dd5abe77d6a4.png

三、until命令

格式:until 条件; do

statement

...

done

until命令中的条件满足时则会退出循环。

实例:

4a65f0f905839ae8f6788600468d89ee.png

四、while命令

格式:while 条件; do

statement

...

done

while命令当条件满足时则进入循环。

实例:

3c3458dddc63cb25c17c7cff1b0e73f8.png

五、控制循环

1、break命令

作用:退出正在进行中的循环。

实例:如果变量i为3则退出循环。

664efc2bf683e510fb895ec809f49869.png

2、continue命令

作用:提前进入下一轮循环。

实例:将1到20和51到100之间的数相加:

4a8d098bd3d01712e3e7689f61f9cb27.png

六、while的殊用法

1、死循环

格式:while :; do

语句

done

实例:

8145e4a11ed71de8e5513c06c029e566.png

2、将文件内容逐行读入循环中

格式:while read 变量名; do

循环体

done < 文件

实例:逐行读入/etc/passwd文件的内容:

6283cef558c77d09a271f049f7931b25.png


http://chatgpt.dhexx.cn/article/2vjCgE00.shtml

相关文章

Linuxshell脚本之循环语句

目录 一、循环 1.循环的含义 2.重复运行次数 3.常见的循环命令 4.循环示意图 二、For语句 1.定义 2.表达式 &#xff08;1&#xff09;for循环 &#xff08;2&#xff09;算术for循环 &#xff08;3&#xff09;嵌套 ​ 三、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 马尔可夫奖励过程&#xff08;Markov reward process, MRP&#xff09;3.1 MRP的贝尔曼方程3.2 MRP的贝尔曼方程求解方法3.3 总结 4 马尔可夫决策过程&#xff08;Markov decision process, MDP&#xff09;4.1 MDP状态价值函数贝…

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

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

贝尔曼方程(Bellman Equation)

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

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

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

贝尔曼方程推导

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

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

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

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

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

贝尔曼方程

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

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

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

3.1 贝尔曼(bellman)方程

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

强化学习之贝尔曼方程

强化学习 强化学习注重智能体&#xff08;agent&#xff09;与环境之间的交互式学习&#xff1a; 强化学习的数据集不是训练初始阶段就有的&#xff0c;而是来自智能体与环境交互才能获得&#xff1b;强化学习不追求单步决策的最优策略&#xff0c;而是追求与环境交互获得的长…

强化学习笔记:策略评估--贝尔曼方程求解示例

目录 1. 前言 2. MDP模型 3. 求解贝尔曼方程 1. 前言 策略评估&#xff08;Policy Evaluation&#xff09;&#xff0c;简单来说&#xff0c;就是针对某个既定的策略求其状态值函数和动作值函数。求得了状态值函数和动作值函数&#xff0c;事实上就很容易进行不同候补策略之…

强化学习笔记:策略、值函数及贝尔曼方程

目录 1. 前言 2. 策略和值函数的定义 3. 值函数的估计 4. 状态值函数的贝尔曼方程 1. 前言 本篇介绍策略、两种值函数&#xff08;状态值函数和动作值函数&#xff09;&#xff0c;以及大名鼎鼎的贝尔曼方程。补充了一点关于贝尔曼方程的推导过程&#xff0c;希望能够帮助理…

贝尔曼最优方程(Bellman Optimality Equation)

贝尔曼最优方程 目录回顾 补充逻辑场景设置 贝尔曼最优方程最优策略与最优价值函数最优状态价值函数最优状态-动作价值函数 小小的题外话 - 最大值/期望值最大值和期望值之间的大小关系 最优策略与两种价值函数间的关系贝尔曼最优方程表达式 本节使用 更新图的方式对 V π ( …

价值函数与贝尔曼方程

一.价值函数 由于在面对不同的状态时&#xff0c;智能体需要选择最优的动作&#xff0c;到达更优的状态以得到更多的奖励.那么我们根据什么判别一个状态或动作的的好坏程度呢&#xff1f;我们引入价值函数。 价值函数的定义是&#xff1a;获得回报的期望。 1.状态价值函数 …

强化学习: 贝尔曼方程与马尔可夫决策过程

强化学习&#xff1a; 贝尔曼方程与马尔可夫决策过程 一、简介 贝尔曼方程和马尔可夫决策过程是强化学习非常重要的两个概念&#xff0c;大部分强化学习算法都是围绕这两个概念进行操作。尤其是贝尔曼方程&#xff0c;对以后理解蒙特卡洛搜索、时序差分算法以及深度强化学习算…

贝尔曼方程(Bellman Equation)的解读

这个算法只适用于没有变化的环境 在解释下面几个专业术语前 我先来说一下这个Agent&#xff0c;中文的意思是 代理&#xff0c;代理人 但是实际上他大概表示的意思就相当于变量&#xff0c;就给你某一个状态贴上了一个标签一样 **状态(State) &#xff1a;**用一个数值来作为…

贝尔曼方程讲解

网格世界示例如下&#xff1a; 贝尔曼方程 在这个网格世界示例中&#xff0c;一旦智能体选择一个动作&#xff0c; 它始终沿着所选方向移动&#xff08;而一般 MDP 则不同&#xff0c;智能体并非始终能够完全控制下个状态将是什么&#xff09; 可以确切地预测奖励&#xff08;…