SuperAPI AI 工具集

bash-scripting

编程与开发

查看项目

更新于 10-30 16:16

技能介绍

用途

bash-scripting 是一个用于创建健壮、可投入生产的 Bash 脚本的专门工作流,核心是防御式编程模式、较完整的错误处理和自动化测试。

适用场景

资料列出的适用场景包括:

  • 编写自动化脚本
  • 编写系统管理工具
  • 构建部署脚本
  • 开发备份解决方案
  • 创建 CI/CD 脚本

工作流阶段

该工作流分为七个阶段,每个阶段列出要调用的技能、要执行的动作和交流用的提示词示例。

  1. 脚本设计:调用 bash-pro(专业脚本编写)与 bash-defensive-patterns(防御式模式);动作包括定义脚本用途、明确输入/输出、规划错误处理、设计日志策略、记录需求。示例提示词:Use @bash-pro to design production-ready bash script。
  2. 脚本结构:调用 bash-pro 与 bash-defensive-patterns;动作包括添加 shebang 与严格模式、创建 usage 函数、实现参数解析、设置日志、添加清理处理器。示例提示词:Use @bash-defensive-patterns to implement strict mode and error handling。
  3. 核心实现:调用 bash-linux(Linux 命令)与 linux-shell-scripting(Shell 脚本编写);动作包括实现主函数、添加输入校验、创建辅助函数、处理边界情况、添加进度提示。示例提示词:Use @bash-linux to implement system commands。
  4. 错误处理:调用 bash-defensive-patterns 与 error-handling-patterns;动作包括添加 trap 处理器、实现重试逻辑、创建错误消息、设置退出码、添加回滚能力。示例提示词:Use @bash-defensive-patterns to add comprehensive error handling。
  5. 日志:调用 bash-pro;动作包括创建日志函数、添加日志级别、实现时间戳、配置日志轮转、添加调试模式。示例提示词:Use @bash-pro to implement structured logging。
  6. 测试:调用 bats-testing-patterns(Bats 测试)与 shellcheck-configuration(ShellCheck);动作包括编写 Bats 测试、运行 ShellCheck、测试边界情况、验证错误处理、用不同输入进行测试。示例提示词:Use @bats-testing-patterns to write script tests、Use @shellcheck-configuration to lint bash script。
  7. 文档:调用 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 自动化)。

限制

资料给出的限制包括:仅在任务明确匹配上述范围时使用;不得将输出视为环境特定验证、测试或专家评审的替代;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。