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