迴圈是一個強大的程式設計工具,使您能夠重複執行一組命令。在本教學中,您將學習以下型別的迴圈Shell程式:
你會根據不同情況使用不同的迴圈。例如用 while 迴圈執行命令,直到給定的條件下是 ture ,迴圈直到執行到一個給定的條件為 false。
有良好的程式設計習慣,將開始使用情況的基礎上適當的迴圈。這裡while和for迴圈類似在大多數其他的程式設計語言,如C,C++ 和 Perl 等。
所有支援巢狀迴圈的概念,這意味著可以把一個迴圈內其他類似或不同的迴圈。這種巢狀可以去高達無限數量的時間根據需要。
巢狀的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