用途
bash-scripting 是一个用于创建健壮、可投入生产的 Bash 脚本的专门工作流,核心是防御式编程模式、较完整的错误处理和自动化测试。
适用场景
资料列出的适用场景包括:
- 编写自动化脚本
- 编写系统管理工具
- 构建部署脚本
- 开发备份解决方案
- 创建 CI/CD 脚本
工作流阶段
该工作流分为七个阶段,每个阶段列出要调用的技能、要执行的动作和交流用的提示词示例。
- 脚本设计:调用 bash-pro(专业脚本编写)与 bash-defensive-patterns(防御式模式);动作包括定义脚本用途、明确输入/输出、规划错误处理、设计日志策略、记录需求。示例提示词:
Use @bash-pro to design production-ready bash script。 - 脚本结构:调用 bash-pro 与 bash-defensive-patterns;动作包括添加 shebang 与严格模式、创建 usage 函数、实现参数解析、设置日志、添加清理处理器。示例提示词:
Use @bash-defensive-patterns to implement strict mode and error handling。 - 核心实现:调用 bash-linux(Linux 命令)与 linux-shell-scripting(Shell 脚本编写);动作包括实现主函数、添加输入校验、创建辅助函数、处理边界情况、添加进度提示。示例提示词:
Use @bash-linux to implement system commands。 - 错误处理:调用 bash-defensive-patterns 与 error-handling-patterns;动作包括添加 trap 处理器、实现重试逻辑、创建错误消息、设置退出码、添加回滚能力。示例提示词:
Use @bash-defensive-patterns to add comprehensive error handling。 - 日志:调用 bash-pro;动作包括创建日志函数、添加日志级别、实现时间戳、配置日志轮转、添加调试模式。示例提示词:
Use @bash-pro to implement structured logging。 - 测试:调用 bats-testing-patterns(Bats 测试)与 shellcheck-configuration(ShellCheck);动作包括编写 Bats 测试、运行 ShellCheck、测试边界情况、验证错误处理、用不同输入进行测试。示例提示词:
Use @bats-testing-patterns to write script tests、Use @shellcheck-configuration to lint bash script。 - 文档:调用 documentation-templates;动作包括添加脚本头、为函数编写文档、创建用法示例、列出依赖、添加故障排查章节。示例提示词:
Use @documentation-templates to document bash script。
脚本模板
资料提供了一个脚本模板,内容如下(原样保留):
#!/usr/bin/env bash
set -euo pipefail
readonly SCRIPT_NAME=$(basename "$0")
readonly SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
error() { log "ERROR: $*" >&2; exit 1; }
usage() { cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
-h, --help Show help
-v, --verbose Verbose output
EOF
}
main() {
log "Script started"
# Implementation
log "Script completed"
}
main "$@"
质量检查项
资料列出的质量检查项为:ShellCheck 通过、Bats 测试通过、错误处理有效、日志功能正常、文档完整。
相关工具包
资料提到相关的工作流包:os-scripting(操作系统脚本)、linux-troubleshooting(Linux 故障排查)、cloud-devops(DevOps 自动化)。
限制
资料给出的限制包括:仅在任务明确匹配上述范围时使用;不得将输出视为环境特定验证、测试或专家评审的替代;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。