while循環的格式
- while expression
- do
- command
- command
- ```
- done
一、計數器控制的while循環
主要用於已經準確知道要輸入的數據和字符串的數目。
舉例
- 1 #!/bin/sh
- 2 int=1
- 3 while(( $int<=5 ))
- 4 do
- 5 echo $int
- 6 let "int++"
- 7 done
二、結束標記控制的while循環
主要用於不知道讀入數據的個數,可是能夠設置一個特殊的數據值來結束循環,該特殊值稱爲結束標 記,經過提示用戶輸入進行操做。
舉例
- 1 #用腳本演示使用結束標記控制while循環實現猜1~10內的數
- 2 #!/bin/sh
- 3
- 4 echo "Please input the num (1~~10): "
- 5 read num
- 6 while [[ $num != 4 ]]
- 7 do
- 8 if [ $num -lt 4 ]
- 9 then
- 10 echo "Too small ,Try again.."
- 11 read num
- 12 elif [ $num -gt 4 ]
- 13 then
- 14 echo "Too big ,Try again.. "
- 15 read num
- 16 else
- 17 exit 0
- 18 fi
- 19 done
- 20 echo "Yes ,you are right !!"
三、標緻控制的while循環
用戶輸入標誌值來控制循環結束
舉例
- 1 #!/bin/sh
- 2 echo "Please input the num:"
- 3 read num
- 4 sum=0
- 5 i=1
- 6 signal=0
- 7 while [[ $signal != 1 ]]
- 8 do
- 9 if [ $i -eq $num ]
- 10 then
- 11 let "signal=1"
- 12 let "sum+=i"
- 13 echo "1+二、、、+$num=$sum"
- 14 else
- 15 let "sum=sum+i"
- 16 let "i++"
- 17 fi
- 18 done
四、命令行控制的while循環
舉例
- 1 #!/bin/sh
- 2
- 3 echo "Please input arguements is $# "
- 4 echo "What you input : "
- 5 while [[ $* != "" ]]
- 6 do
- 7 echo $1
- 8 shift
- 9 done