无涯教程-Linux - 循环语句

45 阅读1分钟

在本章中,我们将讨论Unix中的Shell循环,循环是功能强大的编程工具,使您能够重复执行一组命令。

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

您将根据情况使用不同的循环。如, while 循环执行给定的命令,直到给定的条件保持为真为止。 until循环执行直到给定条件变为真。

循环嵌套

可以将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

While - 示例

这是循环嵌套的简单示例。让我们在您用来计数到9的循环内添加另一个倒数循环-

#!/bin/sh

a=0 while [ "a"</span><span class="pln"> </span><span class="pun">-</span><span class="pln">lt </span><span class="lit">10</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="com"># this is loop1</span><span class="pln"> </span><span class="kwd">do</span><span class="pln"> b</span><span class="pun">=</span><span class="str">"a" while [ "b"</span><span class="pln"> </span><span class="pun">-</span><span class="pln">ge </span><span class="lit">0</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="com"># this is loop2</span><span class="pln"> </span><span class="kwd">do</span><span class="pln"> echo </span><span class="pun">-</span><span class="pln">n </span><span class="str">"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

参考链接

www.learnfk.com/linux/linux…