
结构化命令structured command程序要求对 shell 脚本中的命令施加一些逻辑流程控制或根据条件使脚本跳过某些命令。在其他编程语言中if 语句之后的对象是一个等式这个等式的求值结果为 TRUE 或 FALSE。但 bash shell 的 if 语句会运行 if 后面的那个命令。如果该命令的退出状态码是0该命令成功运行位于 then 部分的命令就会被执行。如果该命令的退出状态码是其他值then 部分的命令就不会被执行bash shell 会继续执行脚本中的下一个命令。if-then 语句(类似于Python中的if语句)格式:也可这样:举个例子:if-then-else 语句格式:嵌套 if 语句格式:示例:小练习:test 命令if-then 语句不能测试命令退出状态码之外的条件。test 命令提供了在 if-then 语句中测试不同条件的途径。如果 test 命令中列出的条件成立test 命令就会退出并返回退出状态码 0。这样 if-then 语句就与其他编程语言中的 if-then 语句以类似的方式工作了。如果条件不成立test 命令就会退出并返回非零的退出状态码这使得 if-then 语句不会再被执行。也可以使用方括号定义测试条件。注意第一个方括号之后和第二个方括号之前必须加上一个空格否则就会报错。格式:示例:示例:示例:修改内容后运行示例:复合条件测试布尔逻辑boolean logic是一种能够将可能的返回值简化为 TRUE 或 FALSE 的方法.if-then 语句允许你使用布尔逻辑来组合测试。有两种布尔运算符可用示例:示例:case 命令case 命令采用列表格式来检查单个变量的多个值。不需要再写出所有的 elif 语句来不停地检查同一个变量的值了格式:示例:小练习: