C 語言中,while命令允許你在while語句行定義多個測試命令。只有后一個測試命令的退出狀態碼會被用來決定什么時候結束循環。如果你不夠小心,可能會導致一些有意思的結果。下面南昌網絡公司小編給出的例子中將可以說明這一點,大家可以看一下。
$ 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
$
大家仔細觀察以上例子中做了什么,很顯然,while語句中定義了兩個測試命令。
while echo $var1
[ $var1 -ge 0 ]
第一個測試簡單地顯示了var1變量的當前值。第二個測試用方括號來判斷var1變量的值。在循環內部,echo語句會顯示一條簡單的消息,說明循環被執行了。要注意的是,當你運行以上例子時輸出是如何結束的。
This is inside the loop
-1
$
while循環會在var1變量等于0時執行echo語句,然后將var1變量的值減一。接下來再次執行測試命令,用于下一次迭代。echo測試命令被執行并顯示了var變量的值(現在小于0了)。直到shell執行test測試命令,whle循環才會停止。
這說明在含有多個命令的while語句中,在每次迭代中所有的測試命令都會被執行,包括測試命令失敗的后一次迭代,要留心觀察這種用法。另一處要留意的是該如何指定多個測試命令。注意,每個測試命令都出現在單獨的一行上。
以上就是南昌網絡公司小編為大家講解的關于在while語句行中定義多個測試命令的方法,如有大家還有哪些不明白的地方,可隨時來電和我們聯系,百恒網絡隨時為您解答!