Menu Close

Linux平台下Shell脚本的无限循环及Break和Continue命令

如果不满足所需条件,则循环可能永远持续下去。 永远执行而不会终止的循环称为无限循环。

例如脚本:

#!/bin/sh

a=10

until [ $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done

由于a始终大于或等于10, 永远不会小于10,因此该循环会永远持续下去。

break命令

break命令很暴力,跳出所有循环(终止执行后面的所有循环)。

实例:

#!/bin/sh

a=0

while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=`expr $a + 1`
done

执行结果:

0
1
2
3
4
5

continue命令

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环

实例:

#!/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

continue命令跳出当前循环,进入下一个循环。

%title插图%num

结果:

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

Posted in Linux

发表评论

相关链接