

for循环是我们在编写Linux脚本时常用的控制语句. 许多初学者在接触for循环时常常会感到困惑shell 编程 for,因为for循环的形式确实有点!我也有学习上的困难,因此当我稍后应用for循环时,我经常打开百度进行检查.


我最近断断续续地重新解释了for循环的形式,发现尽管for循环具有多种形式,但归根结底,只有两种形式!
C语言样式表达式
基本结构:

for((初始化表达式;条件判断表达式;控制表达式))的
做……做完. 具有C基本知识的学生一眼就能理解. 此for循环结构首先执行初始化表达式,然后在执行循环之前执行条件判断表达式. 如果判断表达式的值为真,则执行循环体,否则退出循环,并在每个循环体执行后执行控制表达式. 进行.
最简单的例子:

for((i = 1; i <= 100; i ++))做echo $ i done表达式可以为空,因此有不同的特殊效果:
当初始化表达式为空时,必须在for语句之前分配循环控制变量: i = 1for((; i <= 100; i ++))做......当条件判断表达式为空,for语句更改. 它变成了一个无限循环. 您必须设置一个条件才能在循环主体中跳出循环: 对于((i = 1 ;; i ++))执行if((i> 100));然后打破fi完成当控制表达式为空时,for语句也将变成一个无限循环. 您需要添加一个操作来更改循环主体中的控制变量: 对于((i = 1; i <= 100;))do((i ++))完成与C语言相同. 使用逗号表达式:
for((i = 1shell 编程 for,j = 1; i <= 100; i ++,j ++))做...... done2表达式也可以使用任何布尔表达式,只要其值不为0,则执行循环主体:

对于((i = 1; c = 0; i ++))如果((i> = 10))回显$ i,则不会执行此循环. 然后中断fi结束执行此循环,并打印结果. ((i = 1; c = 1; i ++))从1到10的数字在((i> = 10))的情况下回显$ i. 然后打破样式表达的要求
基本结构:
对于列表中的控制变量,请执行... ...完成此列表可以是您可以想到的任何列表:
直接列表: 1 2 3 4 5 abcde“ abc”“ 390”“ tom”值范围: {1..100} {a..Z}执行任何命令后的输出,支持通配符和特殊变量可以生成序列的命令的一些示例: seq 1 1 100ls cat filelist.txtecho some_record.txt | awk'{printf“%s \ n”,$ 1}'*. Txt $ @……“在列表中”可以省略:
for i相当于$ @ Summary中的for i
有成千上万种的for循环. 归根结底,这两种类型只是结合了不同的用法. 了解for循环的本质. 根据编程的特定需求和场景,灵活组合各种形式. 然后检查百度.
(从本文开始,我将总结一些shell编程的难点,请关注我以获得更多更新)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-150558-1.html
但对有损我国主权的行为
很重要
民国百万计的伪军汉奸
为何南方食品要赔付当事人两包芝麻糊