如果不满足所需条件,则循环可能永远持续下去。 永远执行而不会终止的循环称为无限循环。
例如脚本:
#!/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命令跳出当前循环,进入下一个循环。
结果:
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