四、linux下shell编程の控制流结构
讲解知识点
- 控制结构 if then else 语句 case语句 for循环 until循环 while循环 break控制 continue控制
4.1.2 if语句
- 语句格式:
1 if 条件1;then 3 命令1 4 elif 条件2;then 6 命令2 7 else 8 命令3 9 fi
注意:if语句必须以单词fi终止
通过man test命令进行查询test使用方法
4.2.1 case 语句
- case语句多位选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。
1 case 值 in 2 模式1) 3 命令1 4 ;; 5 模式2) 6 命令2 7 ;; 8 *) 9 命令3
exit; 10 ;; 11 esac
- case取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常熟。匹配发现取值符合某一模式后,其间所有命令开始直行至;;。模式匹配符*表示任意字符,?表示任意单字符,[..]表示类或范围中任意字符。
4.3.1 for循环
for循环一般格式为:
1 for 变量 in 列表 2 do 3 命令1 4 命令2 5 done
- 当变量值在列表里,for循环即执行一次所有命令,使用变量名访问列表并取值。命令可为任何有效的shell命令和语句。变量名为任何单词。in列表用法是可选的,如果不用它,for循环使用命令行的位置参数。in列表可以包含替换、字符串和文件名。
4.4.1 until循环
- until循环的一般格式为:
1 until 条件 2 do 3 命令1 4 命令2 5 done
- 注:条件可谓任意测试条件,测试反生在循环末尾,因此循环至少执行一次
4.5.1 while循环
- 格式:
1 while 命令 如果这里命令是冒号:表示永远为真 2 do 3 命令1 4 命令2 5 done
- 注意:在while和do之间虽然通常只使用一个命令,但可以放几个命令,命令通常用作测试条件
- 注意:一定要放在最后!如果放在上面的话,总会输出第一行
4.6.1 break和continue控制
- break [n]
退出循环
如果是在一个嵌入循环里,可以制定n来跳出循环个数。
- continue
跳出循环步,继续下一次循环
- 注:continue命令类似于break命令,只有一点重要查遍:它不会跳出循环,只是跳过这个循环步