课程表

UNIX 基础

UNIX Shell编程

UNIX 进阶

UNIX 常用资源

工具箱
速查手册

UNIX Shell循环

当前位置:免费教程 » 数据库/运维 » UNIX

循环是一个强大的编程工具,可以使您能够重复执行一系列命令。针对 Shell 程序员,有 4 种循环类型:

  • while 循环
  • for 循环
  • until 循环
  • select 循环

根据不同的情况使用不同的循环。例如只要给定条件仍然是 true,while 循环将执行给定的命令。而 until 循环是直到给定的条件变成 true,才会执行。

一旦你有了良好的编程实践,你就会开始根据情况使用适当的循环。while 循环和 for 循环在大多数其他编程语言如 C、C++ 和 PERL 等中都有实现。

嵌套循环

所有的循环都支持嵌套的概念,这意味着可以将一个循环放到另一个相似或不同的循环中。这个嵌套可以根据您的需求高达无限次。

下面是一个嵌套 while 循环的例子,基于编程的要求,其他循环类型也可以以类似的方式嵌套:

嵌套 while 循环

可以使用 while 循环作为另一个 while 循环体的一部分。

语法

  1. while command1 ; # this is loop1, the outer loop
  2. do
  3. Statement(s) to be executed if command1 is true
  4. while command2 ; # this is loop2, the inner loop
  5. do
  6. Statement(s) to be executed if command2 is true
  7. done
  8. Statement(s) to be executed if command1 is true
  9. done

例子

下面是循环嵌套的一个简单例子,在循环内部添加另一个倒计时循环,用来数到九:

  1. #!/bin/sh
  2. a=0
  3. while [ "$a" -lt 10 ]# this is loop1
  4. do
  5. b="$a"
  6. while [ "$b" -ge 0 ] # this is loop2
  7. do
  8. echo -n "$b "
  9. b=`expr $b - 1`
  10. done
  11. echo
  12. a=`expr $a + 1`
  13. done

这将产生以下结果。重要的是要注意 echo -n 是如何工作的。这里 -n 选项让输出避免了打印新行字符。

  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
  10. 9 8 7 6 5 4 3 2 1 0
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号