- Unix / Linux 初学者
- Unix / Linux - 主页
- Unix / Linux - 入门
- Unix / Linux - 文件管理
- Unix / Linux - 目录
- Unix / Linux - 文件权限
- Unix / Linux - 环境
- Unix / Linux - 基本实用程序
- Unix / Linux - 管道和过滤器
- Unix / Linux - 进程
- Unix / Linux - 通信
- Unix / Linux - vi 编辑器
- Unix/Linux Shell 编程
- Unix / Linux - Shell 脚本
- Unix / Linux - 什么是 Shell?
- Unix / Linux - 使用变量
- Unix / Linux - 特殊变量
- Unix / Linux - 使用数组
- Unix / Linux - 基本运算符
- Unix / Linux - 决策
- Unix / Linux - Shell 循环
- Unix / Linux - 循环控制
- Unix / Linux - Shell 替换
- Unix / Linux - 引用机制
- Unix / Linux - IO 重定向
- Unix / Linux - Shell 函数
- Unix / Linux - 联机帮助页
Unix / Linux - Shell 循环类型
在本章中,我们将讨论 Unix 中的 shell 循环。循环是一种功能强大的编程工具,使您能够重复执行一组命令。在本章中,我们将研究 shell 程序员可用的以下类型的循环 -
您将根据情况使用不同的循环。例如,while循环执行给定的命令,直到给定的条件保持为真;直到给定的条件变为真时才会执行循环。
一旦您有了良好的编程实践,您将获得专业知识,从而开始根据情况使用适当的循环。这里,while和for循环在大多数其他编程语言中都可用,例如C、C++和PERL等。
嵌套循环
所有循环都支持嵌套概念,这意味着您可以将一个循环放入另一个相似或不同的循环中。根据您的要求,这种嵌套最多可以无限次。
这是嵌套while循环的示例。其他循环可以根据编程要求以类似的方式嵌套 -
嵌套 while 循环
可以将一个 while 循环用作另一个 while 循环体的一部分。
句法
while command1 ; # this is loop1, the outer loop do Statement(s) to be executed if command1 is true while command2 ; # this is loop2, the inner loop do Statement(s) to be executed if command2 is true done Statement(s) to be executed if command1 is true done
例子
这是循环嵌套的简单示例。让我们在之前数到九的循环中添加另一个倒数循环 -
#!/bin/sh a=0 while [ "$a" -lt 10 ] # this is loop1 do b="$a" while [ "$b" -ge 0 ] # this is loop2 do echo -n "$b " b=`expr $b - 1` done echo a=`expr $a + 1` done
这将产生以下结果。重要的是要注意echo -n在这里如何工作。这里-n选项让 echo 避免打印新行字符。
0 1 0 2 1 0 3 2 1 0 4 3 2 1 0 5 4 3 2 1 0 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0