C 語言中,while命令允許你在while語句行定義多個(gè)測試命令。只有后一個(gè)測試命令的退出狀態(tài)碼會(huì)被用來決定什么時(shí)候結(jié)束循環(huán)。如果你不夠小心,可能會(huì)導(dǎo)致一些有意思的結(jié)果。下面南昌網(wǎng)絡(luò)公司小編給出的例子中將可以說明這一點(diǎn),大家可以看一下。
$ cat test11
#!/bin/bash
# testing a multicommand while loop
var1=10
while echo $var1
[ $var1 -ge 0 ]
do
echo "This is inside the loop"
var1=$[ $var1 - 1 ]
done
$ ./test11
10
This is inside the loop
9
This is inside the loop
8
This is inside the loop
7
This is inside the loop
6
This is inside the loop
5
This is inside the loop
4
This is inside the loop
3
This is inside the loop
2
This is inside the loop
1
This is inside the loop
0
This is inside the loop
-1
$
大家仔細(xì)觀察以上例子中做了什么,很顯然,while語句中定義了兩個(gè)測試命令。
while echo $var1
[ $var1 -ge 0 ]
第一個(gè)測試簡單地顯示了var1變量的當(dāng)前值。第二個(gè)測試用方括號(hào)來判斷var1變量的值。在循環(huán)內(nèi)部,echo語句會(huì)顯示一條簡單的消息,說明循環(huán)被執(zhí)行了。要注意的是,當(dāng)你運(yùn)行以上例子時(shí)輸出是如何結(jié)束的。
This is inside the loop
-1
$
while循環(huán)會(huì)在var1變量等于0時(shí)執(zhí)行echo語句,然后將var1變量的值減一。接下來再次執(zhí)行測試命令,用于下一次迭代。echo測試命令被執(zhí)行并顯示了var變量的值(現(xiàn)在小于0了)。直到shell執(zhí)行test測試命令,whle循環(huán)才會(huì)停止。
這說明在含有多個(gè)命令的while語句中,在每次迭代中所有的測試命令都會(huì)被執(zhí)行,包括測試命令失敗的后一次迭代,要留心觀察這種用法。另一處要留意的是該如何指定多個(gè)測試命令。注意,每個(gè)測試命令都出現(xiàn)在單獨(dú)的一行上。
以上就是南昌網(wǎng)絡(luò)公司小編為大家講解的關(guān)于在while語句行中定義多個(gè)測試命令的方法,如有大家還有哪些不明白的地方,可隨時(shí)來電和我們聯(lián)系,百恒網(wǎng)絡(luò)隨時(shí)為您解答!