1、控制结构命令包括:循环命令(while foreach for),条件命令(if switch)、错误处理(catch),微调控制结构命令(break continue return error);
2、控制结构命令通常有一个以后再执行的命令体,它们或是有条件或是在循环体中执行,将命令体用花括号括起来,这样才能避免控制结构命令被调用时发生替换操作;
3、使用花括号将其括起来并将控制结构命令在恰当的时机触发计算它,控制结构命令返回它所执行的最后一条命令;
4、if、for、while这样的命令带有布尔表达式,它们在内部使用了expr命令;
5、if expression ?then? body1 ?else? ?body2? 分行时注意花括号位置,还可以使用elseif关键词来创建一连串的条件,但switch更强大;
6、switch命令根据表达式值的不同分别执行多个分支命令中的一个;
switch flags value {part1 body1 part2 body2 ……}
有四种可能的标志决定value:-exact -glob -regexp --无标志(标志结束),在value之前总是使用--标志是个好习惯;default只有作为最后一个模式-命令体对出现时才有效,之前出现当成匹配,当你的模式中有变量引用或反斜杠序列时不能使用花括号,如果模式关联的命令体只有一个-,那么switch命令"继续"下一个模式关联的命令体,使用这种方式将任意数量的模式捆绑在一起;
7、while命令接收两个变元,一个测试表达式和一个命令体,在布尔表达式中允许包含命令嵌套;
8、foreach loopVar valueList commandBody
foreach命令循环执行一个命令体,每次将一个或者多个列表中的每个值赋给一个或多个循环变量,如果值列表要包含变量或命令结果,那么应当使用list命令;
9、foreach可以有多个循环变量,如果你有两个循环变量则在列表中一对对获取;
10、foreach也可以有多个值列表,每个值列表还可以包含一个或多个变量;
11、for initial test final body,第一个变元是对循环做初始化的命令,第二个变元是决定循环体是否被执行的布尔表达式,第三个变元是一条循环体之后执行的命令;
12、break会导致立刻从循环体中退出、continue会使循环体继续进行下一次迭代;
13、catch、error用来对错误进行捕获和处理;return从过程返回。