Shell中的while循環【轉】

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