Bash For和While循环示例

Bash可以提供不同的编程语言结构,如变量、数组、循环、决策等。循环是Bash脚本最有用的特性之一。循环将提供在给定的顺序结构(如数组、文件列表、数字、输入等)上迭代的能力。

null

循环语法

Bash为循环提供了替代语法。下面是for循环语法的一些示例。

for VARIABLE in 1 2 3 4 5 .. Ndo command1 command2 commandNdone

或者

for VARIABLE in file1 file2 file3do command1 on $VARIABLE command2 commandNdone

或者

for OUTPUT in $(Linux-Or-Unix-Command-Here)do command1 on $OUTPUT command2 on $OUTPUT commandNdone

For行提供循环逻辑,并为每个数字、文件或命令输出执行一个步骤。线之间 “做”和“做”是运行每一步的部分。

循环项目

循环最常用的用法之一是循环项目。我们将用空格分隔物品。所有项目都将循环。在本例中,我们将使用从1到7的数字,并逐一定义它们。

$ for count in 1 2 3 4 5 6 7 ; do echo $count; done
Loop Numbers
循环项目

回路范围

我们可以像上面那样循环数字,但问题是如果需要循环超过1000个数字,我们如何实现。我们应该一个一个地写吗?不,我们可以指定如下数字范围。

$ for count in {1..7} ; do echo $count; done

图片[2]-Bash For和While循环示例-yiteyi-C++库

我们使用 {1..7} 一个接一个地从1循环到7。

增值

我们还可以指定增量数。一个接一个递增是默认行为。我们怎样才能增加2?

$ for count in {1..5..2} ; do echo $count; done
Increment Value
增值

我们增加了循环2,只使用了数字1、3、5。还有一种方法可以用43 for语句增加for循环

相关文章: Linux Bashrc文件及使用示例

循环的C样式

我们可以指定一个类似于C编程语言的语句。我们将设置统计数字、结束条件和增量值,如下所示。这里是语法

for (( EXP1; EXP2; EXP3 ))do command1 ...done

现在我们从1开始,依次递增到5。

$ for (( count=1;count<6;count++)) ; do echo $count; done
C Style For Loop
循环的C样式

无限For循环

我们可以创建一个无限循环。如果我们不结束进程,这个循环将永远运行。

$ for (( ; ; )) ; do echo "Kill me if you can ;)"; done

我们不提供任何开始数、结束条件或增量值来触发无限循环。

无限While循环

我们可以用while语句创建无限循环。创建一个无限循环while语句更容易。

$ while true ; do echo "Kill me if you can ;)"; done

只需要给他们一个真实的陈述。

循环浏览文件

最常用的循环类型之一是通过指定目录中的文件进行循环。指定目录中的所有文件名将逐步循环。

$ for file in $(ls -1) ; do echo $file; done
Loop Through Files
循环浏览文件

在这里 $(ls -l) 提供要循环的文件名列表,每个文件名都分配给 file 每个步骤的变量。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享