用 AI 快速诊断并编写生产级 OS Shell 脚本

解决系统运维中脚本低效、缺乏健壮性及排错难的痛点:通过 AI 引导的结构化工作流,实现从环境评估、防御性编程到自动化部署的完整闭环。

为什么需要这个技能

编写 Shell 脚本很容易,但编写“生产级”脚本很难。初学者常忽略错误处理(Error Handling)、变量引号、权限校验等细节,导致脚本在生产环境下崩溃或造成不可预知的后果。

本技能通过一套标准化的工作流,引导 AI 介入脚本的整个生命周期:使用 ShellCheck 进行静态分析,利用 Bats 进行单元测试,并采用防御性编程模式(Defensive Patterns),确保交付的脚本安全、可维护且易于调试。

适用场景

  • 故障排查:快速诊断 CPU 飙升、内存泄漏或网络连接中断等系统问题。
  • 脚本开发:需要编写一个健壮的备份、部署或清理脚本,且要求具备完善的日志记录和错误处理。
  • 自动化运维:将重复的手动操作转化为通过 cronsystemd 定时运行的自动化任务。
  • 代码审查:对既有 Shell 脚本进行 Lint 检查,消除潜在的 Bug。

核心工作流

1. 环境评估与诊断

首先识别操作系统版本,检查可用工具链及权限。AI 会引导你运行关键指令(如 uname -a, df -h, ps aux)来锁定问题根因。

2. 防御性脚本开发

不再编写简单的命令堆砌,而是采用生产级模版:

  • 严格模式:使用 set -euo pipefail 确保任何一步出错立即停止。
  • 标准结构:包含常量定义、统一的日志函数(log/info/error)及 main 入口函数。
  • 输入校验:通过 getopts 处理命令行参数并提供 -h 帮助文档。

3. 静态分析与调试

  • Lint 检查:通过 shellcheck 修复变量未加引号等常见漏洞。
  • 动态追踪:使用 set -x 打印执行路径,结合 trap 捕获运行时错误。

4. 自动化部署与测试

  • 单元测试:使用 Bats 框架编写测试用例,验证脚本在边缘情况(如缺失参数、磁盘满)下的行为。
  • 任务调度:配置 crontabsystemd timer 实现自动化运行。
# 生产级脚本核心配置示例
#!/usr/bin/env bash
set -euo pipefail

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] [$1] $2" >&2
}

main() {
    # 业务逻辑
    log "INFO" "Script started"
}

main "$@"

下载和安装

下载 os-scripting 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐