Sunday, July 12, 2015

The infinite Loop (Vòng lặp không xác định)
Là vòng lặp mà điều kiện - condition của vòng lặp luôn đúng, dẫn đến việc không bào giờ thoát ra khỏi vòng lặp, muốn nó thoát ra được vòng lặp thì shell cũng cung cấp hai Loop Control tương tự như trong C là breakcontinue.

Ex (infinite loop):
 #!/bin/sh  
   
 a=10  
   
 while [ $a -ge 10 ]  # a >= 10
 do  
   echo $a  
   a=`expr $a + 1`    # a = a + 1
 done  

1. The break statement
Syntax:
 break  
or
 break n  
Với n là vòng lặp lồng nhau thứ n.

Ex1 (break):
 #!/bin/sh  
   
 a=0  
   
 while [ $a -lt 10 ]  
 do  
   echo $a  
   if [ $a -eq 5 ]  
   then  
    break  
   fi  
   a=`expr $a + 1`  
 done  

 $./test.sh  
 0  
 1  
 2  
 3  
 4  
 5  

Ex1 (break n):
 #!/bin/sh  
   
 for var1 in 1 2 3  
 do  
   for var2 in 0 5  
   do  
    if [ $var1 -eq 2 -a $var2 -eq 0 ]  
    then  
      break 2  
    else  
      echo "$var1 $var2"  
    fi  
   done  
 done  

 $./test.sh  
 1 0  
 1 5  

2. The continue statement
Syntax:
 continue  
or
 continue n  
Với n là vòng lặp lồng nhau thứ n.

Ex:
 #!/bin/sh  
   
 NUMS="1 2 3 4 5 6 7"  
   
 for NUM in $NUMS  
 do  
   Q=`expr $NUM % 2`  
   if [ $Q -eq 0 ]  
   then  
    echo "Number is an even number!!"  
    continue  
   fi  
   echo "Found odd number"  
 done  

 $./test.sh  
 Found odd number  
 Number is an even number!!  
 Found odd number  
 Number is an even number!!  
 Found odd number  
 Number is an even number!!  
 Found odd number  


Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -