shell中的while循環
1. while循環
while循環是shell腳本中最簡單的一種循環:
當條件滿足時,while重複地執行一組語句,當條件不滿足時,就退出while循環
格式:
while condition
do
statements
done
condition表示判斷條件,statements表示要執行的語句(可以只有一條,也可以有多條)
注意:
- 1.在while循環體中必須有相應的語句使得condition越來越趨於“不成立”,只有這樣才能最終退出循環,都則while就成了死循環,會一直執行下去,永無休止
- 2.while語句和if else 語句中的condition用法都是一樣的,你可以使用test或者[ ]命令,也可以使用(( ))或[[ ]]
2. 計算1到100的和
#!/bin/bash
#計算1到100的和
sum=0
n=1
while ((n<=100))
do
((sum+=n))
((n++))
done
echo "The sum is: $sum"
3. 計算從m加到n的值
#!/bin/bash
#計算從m加到n的值
read m
read n
sum=0
while ((m<=n))
do
((sum+=m))
((m++))
done
echo "The sum is:$sum"
4. 實現簡單加法計算器
實現一個簡單加法計算器,用戶每行輸入一個數字,計算所有數字的和
#!/bin/bash
sum=0
echo "請您輸入要計算的數字 按下 Ctrl+D 組合鍵結束讀取"
while read n
do
((sum+=n))
done
echo "The sum is:$sum "
在終端中讀取數據可以等價與在文件中讀取數據,按下Ctrl+D組合鍵表示讀取到文件流的末尾,此時read就會讀取失敗,得到一個非0的退出狀態,從而導致判斷條件不成立,結束循環