Shell 迴圈型別


迴圈是一個強大的程式設計工具,使您能夠重複執行一組命令。在本教學中,您將學習以下型別的迴圈Shell程式:

你會根據不同情況使用不同的迴圈。例如用 while 迴圈執行命令,直到給定的條件下是 ture ,迴圈直到執行到一個給定的條件為 false。

有良好的程式設計習慣,將開始使用情況的基礎上適當的迴圈。這裡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