← 全部文章

技术与生活 / 一篇记录

几个固定选项,用 case 比嵌套 if 清楚

固定选项可以通过 case 表达,比分散的条件判断更容易检查。

启动、停止、帮助这类有限集合,可以把每个选项的行为放在一个相邻分支中。这样既方便审查支持范围,也容易发现默认路径是否遗漏了输入。

操作与观察

以下示例使用 Bash,请在独立测试目录中理解输入、输出和退出码。

case "${1:-help}" in start) echo start;; stop) echo stop;; *) echo help;; esac

分别输入已知选项与未知选项,检查默认分支。

测试正常选项、空参数和拼错的选项。未知选项最好给出用法并返回明确状态,避免把用户输入错误当成任务已经执行完成。

当某个选项需要参数时,case 只负责分派,不会自动完成值校验。空值、非法路径和多余参数仍应明确处理。帮助信息中列出的选项,也要与实际支持的分支保持一致。

别遗漏这条边界

必须为未知输入设置清晰的处理方式。

参考:Shell 文档。

搜索文章

输入关键词,找回一篇记录。