- Back to Home »
- Shell »
- Shell - Loop Control
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à break và continue.
Ex (infinite loop):
1. The break statement
Syntax:
Ex1 (break):
Ex1 (break n):
2. The continue statement
Syntax:
Ex:
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à break và continue.
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