用途
Bash Script Framework 用于创建组织良好的 Bash 脚本结构,标准化 CLI 工具。它提供彩色输出、菜单系统、错误处理和跨平台支持,遵循 workspace-hub 的脚本组织模式。
主要能力
- 颜色工具:一致的终端输出,包含常规色、粗体色、背景色、格式化及状态指示符(成功、失败、警告、信息、箭头)。
- 菜单系统:支持多级导航,包括显示菜单、确认操作、输入提示、从列表选择、多选、等待按键、清屏并显示标题。
- 错误处理:正确的退出码,命令执行失败时记录错误并返回退出码。
- 日志记录:带时间戳的输出,支持日志级别(DEBUG、INFO、WARN、ERROR)、日志文件输出、进度显示。
- 跨平台:支持 Linux、macOS、WSL。
- 目录结构:scripts/ 下包含主入口 workspace、lib/(colors.sh、logging.sh、menu.sh、utils.sh)、bash/(git/、dev/)、python/、powershell/。
使用方式
快速开始命令:
- 创建脚本目录结构:
/bash-script-framework init - 创建带菜单的新脚本:
/bash-script-framework new my-script --menu - 添加到现有脚本目录:
/bash-script-framework add utility-script
核心模板包括颜色库(lib/colors.sh)、日志库(lib/logging.sh)、菜单系统(lib/menu.sh)、工具库(lib/utils.sh)和主脚本模板。主脚本模板展示如何加载库、定义命令(menu、status、run、help)、解析全局选项(-v、-q、-h、--version)并运行主菜单。
使用示例:
- 创建新 CLI 工具:
/bash-script-framework init然后/bash-script-framework new repo-manager --menu,结果生成 scripts/repo-manager 带完整菜单系统。 - 添加简单脚本:
/bash-script-framework add backup-tool,创建 scripts/backup-tool 带基本模板。
适用场景
- 为仓库创建 CLI 工具。
- 构建菜单驱动的自动化。
- 标准化脚本组织。
- 跨平台脚本开发。
限制
- 不适用于 Python 脚本更合适的情况。
- 不适用于只需要简单一行命令的情况。
- 不适用于仅 Windows 环境。
- 前置要求:Bash 4.0+,类 Unix 环境(Linux、macOS、WSL)。
最佳实践
- 使用
set -e在错误时退出。 - 引用库,不要重复代码。
- 使用函数,模块化、可测试的代码。
- 处理信号,退出时清理。
- 验证输入,执行前检查。
相关技能
- python-project-template:Python CLI 工具。
- yaml-workflow-executor:YAML 驱动的执行。
参考
- Bash Reference Manual
- workspace-hub CLI Standards
版本历史
- 1.0.0(2026-01-14):初始版本——带颜色、菜单、日志的 bash 脚本框架。