continue的作用是跳过当前这次循环的剩余代码,直接进入下一轮判断和执行,不会终止整个循环;它仅在for、while、until循环体内有效,常配合if使用以跳过特定迭代,如跳过数字5、隐藏文件或空行,且默认只影响最内层循环。

continue 的作用是跳过当前这次循环的剩余代码,直接进入下一轮判断和执行,不会终止整个循环。
continue 的基本用法
它只在 for、while、until 循环体内有效,写在条件判断之后,满足条件时触发跳过。
- 不带参数时,默认跳过当前最内层循环的本次迭代
- 语法简洁:直接写
continue,后面无需分号或括号 - 常配合 if 判断使用,实现“符合条件就忽略本次处理”
常见使用场景
比如遍历数字时跳过某个特定值,或处理文件列表时跳过空行、隐藏文件、权限不足项等。
- 跳过数字 5:循环输出 1–10,但不显示 5
- 跳过以点开头的文件(如 .bashrc):避免误操作隐藏配置文件
- 跳过空行:读取配置文件时,用
[[ -z "$line" ]] && continue
嵌套循环中的 continue
在多层循环里,continue 默认只影响它所在的那一层。如果想跳过外层某次迭代,需配合标签或逻辑重构,Shell 原生不支持带标签的 continue(不像 break 可用 break N)。
- 例如两层 for 循环中,内层的
continue只跳过内层本轮,外层继续运行 - 若需跳过外层本次,通常改用标志变量或把逻辑提前收束
和 break 的关键区别
初学者容易混淆,记住这个对比:
-
break:立刻退出整个循环,后续迭代全不执行 -
continue:本次循环剩下的命令不执行,但马上开始下一次循环 - 比如循环 10 次,第 4 次遇到
continue→ 第 4 次 echo 不输出,第 5 次照常开始


















