你會(huì)根據(jù)不同情況使用不同的循環(huán)。例如用 while 循環(huán)執(zhí)行命令,直到給定的條件下是 ture ,循環(huán)直到執(zhí)行到一個(gè)給定的條件為 false。
有良好的編程習(xí)慣,將開(kāi)始使用情況的基礎(chǔ)上適當(dāng)?shù)难h(huán)。這里while和for循環(huán)類(lèi)似在大多數(shù)其他的編程語(yǔ)言,如C,C++ 和 Perl 等。
嵌套循環(huán):
所有支持嵌套循環(huán)的概念,這意味著可以把一個(gè)循環(huán)內(nèi)其他類(lèi)似或不同的循環(huán)。這種嵌套可以去高達(dá)無(wú)限數(shù)量的時(shí)間根據(jù)需要。
嵌套的while循環(huán)和類(lèi)似的方式,可以嵌套其他循環(huán)的基礎(chǔ)上的編程要求下面是一個(gè)例子:
嵌套while循環(huán):
作為另一個(gè)while循環(huán)的身體的一部分,這是可以使用一個(gè)while循環(huán)。
語(yǔ)法:
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
例如:
這里是循環(huán)嵌套一個(gè)簡(jiǎn)單的例子,讓我們添加另一個(gè)倒計(jì)時(shí)循環(huán)內(nèi)的循環(huán),數(shù)到九:
#!/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
這將產(chǎn)生以下結(jié)果。重要的是要注意 echo -n 是如何工作。在這里,-n選項(xiàng)echo ,以避免打印一個(gè)新行字符。
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
更多建議: