'\" te .\" Copyright (c) 2008, 2011, Oracle and/or its affiliates.All rights reserved. .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .TH break 1 "2008 年 4 月 8 日" "SunOS 5.11" "用户命令" .SH 名称 break, continue \- 用于退出 while、for、foreach 或 until 控制循环或在其中跃进的 shell 内置函数 .SH 用法概要 .SS "\fBsh\fR" .LP .nf \fBbreak\fR [\fIn\fR] .fi .LP .nf \fBcontinue\fR [\fIn\fR] .fi .SS "\fBcsh\fR" .LP .nf \fBbreak\fR .fi .LP .nf \fBcontinue\fR .fi .SS "\fBksh88\fR" .LP .nf \fB*break\fR [\fIn\fR] .fi .LP .nf \fB*continue\fR [\fIn\fR] .fi .SS "\fBksh\fR" .LP .nf \fB+break\fR [\fIn\fR] .fi .LP .nf \fB+continue\fR [\fIn\fR] .fi .SH 描述 .SS "\fBsh\fR" .sp .LP \fBbreak\fR 实用程序可以退出封闭式 \fBfor\fR 或 \fBwhile\fR 循环(如果有)。如果指定了 \fIn\fR,则分成 \fIn\fR 个级别。 .sp .LP \fBcontinue\fR 实用程序继续执行封闭式 \fBfor\fR 或 \fBwhile\fR 循环的下一次迭代。如果指定了 \fIn\fR,则从第 \fIn\fR 次封闭式循环继续执行。 .SS "\fBcsh\fR" .sp .LP \fBbreak\fR 实用程序从最近的封闭式 \fBforeach\fR 或 \fBwhile\fR 循环的 \fBend\fR 后继续执行。执行当前行中的其余命令。它允许将多级别划分写为 \fBbreak\fR 命令列表,全部放在一行之中。 .sp .LP \fBcontinue\fR 实用程序继续执行最近的封闭式 \fBwhile\fR 或 \fBforeach\fR 循环的下一次迭代。 .SS "\fBksh88\fR" .sp .LP \fBbreak\fR 实用程序可以退出封闭式 \fBfor\fR、\fBwhile\fR、\fBuntil\fR 或 \fBselect\fR 循环(如果有)。如果指定了 \fIn\fR,则 \fBbreak\fR \fIn\fR 个级别。如果 \fIn\fR 大于封闭式循环的数量,则应退出最外层的封闭式循环。 .sp .LP \fBcontinue\fR 实用程序可以继续执行封闭式 \fBfor\fR、\fBwhile\fR、\fBuntil\fR 或 \fBselect\fR 循环的下一次迭代。如果指定了 \fIn\fR,则从第 \fIn\fR 次封闭式循环继续执行。如果 \fIn\fR 大于封闭式循环的数量,则应使用最外层的封闭式循环。 .sp .LP 在本手册页中,前面加有一个或两个 *(星号)的 \fBksh88\fR(1) 命令将通过以下方式进行特殊处理: .RS +4 .TP 1. 命令完成时,该命令前面的变量赋值列表仍然有效。 .RE .RS +4 .TP 2. 在变量赋值后进行 \fBI/O\fR 重定向。 .RE .RS +4 .TP 3. 脚本中包含的错误会导致其中止。 .RE .RS +4 .TP 4. 对于跟在前面添加了 \fB**\fR 的命令之后且格式为变量赋值格式的词,将通过与变量赋值相同的规则进行扩展。这表示在 \fB=\fR 符号之后执行波浪号替换,并且不执行词拆分和文件名生成。 .RE .SS "\fBksh\fR" .sp .LP \fBbreak\fR 是 shell 特殊的内置命令,可以退出最小的封闭式 \fBfor\fR、\fBselect\fR、\fBwhile\fR 或 \fBuntil\fR 循环。如果指定了 \fIn\fR,则它还会退出第 \fIn\fR 次封闭式循环。然后会继续执行循环后的命令。 .sp .LP 如果指定了 \fIn\fR,则它必须为正整数且 \fB≥1\fR。如果 \fIn\fR 大于封闭式循环的数量,则退出最后的封闭式循环。 .sp .LP \fBcontinue\fR 是 shell 特殊的内置命令,可以从最小的封闭式 \fBfor\fR、\fBselect\fR、\fBwhile\fR 或 \fBuntil\fR 循环(如果有)的开头继续执行;或者如果指定了 n,则从第 \fIn\fR 次封闭式循环的开头继续执行。 .sp .LP 如果指定了 \fIn\fR,则它必须为正整数且 \fB≥1\fR。如果 \fIn\fR 大于封闭式循环的数量,则使用最后的封闭式循环。 .sp .LP 在本手册页中,前面加有一个或两个 \fB+\fR 符号的 \fBksh\fR(1) 命令是特殊的内置命令,将通过以下方式进行处理: .RS +4 .TP 1. 命令完成时,该命令前面的变量赋值列表仍然有效。 .RE .RS +4 .TP 2. 在变量赋值之后处理 I/O 重定向。 .RE .RS +4 .TP 3. 脚本中包含的错误会导致其中止。 .RE .RS +4 .TP 4. 内置命令不是有效的函数名称。 .RE .RS +4 .TP 5. 对于跟在前面添加了 \fB++\fR 的命令之后且格式为变量赋值格式的词,将通过与变量赋值相同的规则进行扩展。这意味着将在 \fB=\fR 符号之后执行波浪号替换,并且不执行字段分割和文件名生成。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os .TE .SH 另请参见 .sp .LP \fBcsh\fR(1)、\fBexit\fR(1)、\fBksh\fR(1)、\fBksh88\fR(1)、\fBsh\fR(1)、\fBattributes\fR(5)