Shell 中的分支控制语句有if 条件语句和case 语句。
1.if 条件语句
if 条件语句分为: 单分支if 语句、 双分支if 语句和多分支if 语句, 其结构大体跟其他程序设计语言的条件语句相同。
(1) 单分支if 语句。
单分支if 语句是最简单的条件语句, 语句的格式如下。
当“条件表达式”的测试值为真时, 执行“命令序列”, 否则, 执行条件语句后面的命令。 条件表达式与then 之间的分号“;”起命令分隔符的作用, 如果不加“;”, 需要换行。
【例4-3】 检测从键盘输入的文件名是否存在。
其运行结果如图4.5 所示。
图4.5 例4-3 运行结果
(2) 双分支if 语句。
双分支if 语句的格式如下。
当“条件表达式”的测试值为真时, 执行“命令序列1”, 否则, 执行“命令序列2”。 命令序列中的命令可以是一个或者多个。
【例4-4】 检测从命令行输入的文件是否存在。
其运行结果如图4.6 所示。(www.daowen.com)
图4.6 例4-4 运行结果
(3) 多分支if 语句。
多分支if 语句可以出现不止一个的条件判断, 格式如下。
这是包含二层嵌套的条件语句, 当“条件表达式1”为真时, 执行“命令序列1”, 否则, 在“条件表达式2”为真的情况下, 执行“命令序列2”, 否则, 执行“命令序列3”, “命令序列3”属于第2 个条件语句的一部分。
【例4-5】 用if 语句判断输入的参数的个数。
2.case 语句
case 语句可以将一个变量的内容与多个选项进行匹配, 若匹配成功, 则执行该条件下匹配的语句。 case 语句的格式如下。
脚本程序将<变量>的值依次和字符串1, 字符串2, …, 字符串n 进行比较, 哪个匹配, 执行哪个后面的命令序列, 若都不匹配, 执行其他。
【例4-6】 根据系统当前的时间向用户输出问候信息。
其运行结果如图4.7 所示。
图4.7 例4-6 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。