while 迴圈是 shell 指令碼中最簡單的一種迴圈,當條件滿足時,while 重複地執行一組語句,當條件不滿足時,就退出 while 迴圈。
shell while 迴圈的用法如下:
while condition
dostatements
done
condition
表示判斷條件,statements
表示要執行的語句(可以只有一條,也可以有多條),do
和done
都是 shell 中的關鍵字。
while 迴圈的執行流程為:
注意,在 while 迴圈體中必須有相應的語句使得 condition 越來越趨近於「不成立」,只有這樣才能最終退出迴圈,否則 while 就成了死迴圈,會一直執行下去,永無休止。
while 語句和 if else 語句中的 condition 用法都是一樣的,你可以使用 test 或 命令,也可以使用 (()) 或 ,遺忘的讀者請猛擊下面的鏈結回顧:
【例項1】計算從 1 加到 100 的和。
#!/bin/bash
i=1sum=0
while ((i <= 100))
do((sum += i))
((i++))
done
echo "the sum is: $sum"
執行結果:
the sum is: 5050
在 while 迴圈中,只要判斷條件成立,迴圈就會執行。對於這段**,只要變數 i 的值小於等於 100,迴圈就會繼續。每次迴圈給變數 sum 加上變數 i 的值,然後再給變數 i 加 1,直到變數 i 的值大於 100,迴圈才會停止。
i++
語句使得 i 的值逐步增大,讓判斷條件越來越趨近於「不成立」,最終退出迴圈。
對上面的例子進行改進,計算從 m 加到 n 的值。
#!/bin/bash
read m
read n
sum=0
while ((m <= n))
do((sum += m))
((m++))
done
echo "the sum is: $sum"
執行結果:
1↙100↙
the sum is: 5050
【例項2】實現乙個簡單的加法計算器,使用者每行輸入乙個數字,計算所有數字的和。
#!/bin/bash
sum=0
echo "請輸入您要計算的數字,按 ctrl+d 組合鍵結束讀取"
while read n
do((sum += n))
done
echo "the sum is: $sum"
執行結果:
12↙33↙
454↙
6767↙
1↙2↙
the sum is: 7269
在終端中讀取資料,可以等價為在檔案中讀取資料,按下 ctrl+d 組合鍵表示讀取到檔案流的末尾,此時 read 就會讀取失敗,得到乙個非 0 值的退出狀態,從而導致判斷條件不成立,結束迴圈。
for迴圈詳解
1 for語句,也叫迴圈語句,也稱之為for迴圈。2 for語句也是乙個結構複雜的語句,雖然簡化 如用不熟也會適得其反。3 for語句由三個部分組成 定義初始變數 迴圈條件 變化變數 for 定義初始變數 迴圈條件 變數變化 for var i 0,sum 0 i 100 console.log s...
for迴圈詳解
js一共有三種迴圈語句,今天說一說for迴圈 for迴圈一共三個值,寫法是for 定義初始變數 迴圈條件 變數變化 示例 從上面的例子中,您可以看到 statement 1 在迴圈開始之前設定變數 var i 0 statement 2 定義迴圈執行的條件 i 必須小於 j statement 3 ...
for迴圈詳解
舉例如圖下 首先for迴圈相比其他迴圈可以把條件寫在一起如圖所示 這變數,條件,變化必不可少其他迴圈也是 但是for迴圈有乙個點它在初始變數的時候,進入迴圈之前就已經執行了一次 條件是每次進入迴圈之前都會執行並且判斷 還有當continue遇到for時如圖所示 當i 5時候但是並不會進入死迴圈,因為...