一、continue的作用及用法
在Shell脚本中,continue语句用于跳过当前循环中的剩余语句,进入下一次迭代。当程序执行到continue语句的时候,它会直接跳过后面的所有语句,开始下一次循环。continue语句通常在if语句或者case语句中使用。
continue语句的语法如下:
continue [n]
其中,n表示跳过多少次循环。如果n没有指定,则默认为1。
下面是一个continue的示例,该示例在for循环中使用continue语句:
#!/bin/bash for i in 1 2 3 4 5 do if [ $i == 3 ] then continue fi echo "Iteration number: $i" done
运行上述代码,输出如下:
Iteration number: 1 Iteration number: 2 Iteration number: 4 Iteration number: 5
二、使用continue跳过多层循环
在Shell脚本中,continue语句还可以跳过多层循环。这种情况下,continue语句需要指定一个整数参数,表示跳过多少层循环。
下面是一个示例,该示例在两层循环中使用continue语句:
#!/bin/bash for i in 1 2 3 do for j in 1 2 3 do if [ $i == 2 -a $j == 2 ] then continue 2 fi echo "i is $i, j is $j" done done
运行上述代码,输出如下:
i is 1, j is 1 i is 1, j is 2 i is 1, j is 3 i is 2, j is 1 i is 3, j is 1 i is 3, j is 2 i is 3, j is 3
在上述示例中,如果$i等于2且$j等于2,则continue语句将会跳过两层循环。
三、使用continue跳出无限循环
在Shell脚本中,使用while语句或者for语句可以创建无限循环。如果不加以控制,则该循环将一直执行下去。continue语句也可以用于跳出无限循环。
下面是一个示例,该示例使用while循环创建了一个无限循环,当输入quit时,程序将跳出while循环:
#!/bin/bash while : do read input if [ $input == "quit" ] then break fi if [ $input == "continue" ] then continue fi echo "Input is $input" done
运行上述代码,输出如下:
hello Input is hello continue 5 Input is 5 quit
在上述示例中,如果输入是continue,则程序使用continue语句跳过当前循环。如果输入是quit,则程序使用break语句跳出循环。
四、使用continue提高脚本效率
在Shell脚本中,使用continue语句可以提高脚本效率。
下面是一个示例,该示例使用continue语句来提高脚本效率:
#!/bin/bash for i in 1 2 3 4 5 do if [ $i == 3 ] then continue fi echo "Iteration number: $i" done
上述示例中,使用continue语句跳过$i等于3的循环,这样可以减少循环次数,提高脚本效率。
五、小结
通过本文对Shell脚本中的continue语句的介绍和示例,我们了解了continue语句的作用和用法。continue语句通常在if语句或者case语句中使用,可以用于跳过当前循环,进入下一次迭代。如果指定了参数,则可以跳过多层循环。同时,continue语句还可以用于跳出无限循环,提高脚本效率。