恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战

  • 首页
  • 资讯中心
  • /
  • ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战

相关资讯

2026年软件测试趋势:AI Agent、质量内建与可观测性重塑质量保障 2026/10/12 3:38:56
netdxf实战:DXF文字注释与尺寸标注的创建与修改 2026/10/12 3:38:56
Cortex 开源贡献指南:从 PR 工作流、代码规范到构建测试的完整实战手册 2026/10/12 3:33:55

最新资讯

SkiaSharp Issue-Repro 复现结论判定指南:8 种 conclusion 值的选择逻辑与证据要求
Looking Glass IDD 配置指南:模式列表、默认刷新率、渲染偏好与共享内存约束详解
结论标题 + 结构化证据:用 Kun PPT 工具链打造专业级管理汇报演示文稿
Rust闭包捕获与内存管理:长期运行程序的避坑指南
机器学习银行客户细分实战:KMeans聚类与Python数据可视化全流程
叮当小宝CS管理篇:客服日报怎么写?五个字段让主管一眼看懂

今日推荐

Debian新手入门:从部署到日常操作的完整指南
MongoDB复制集扩缩容实战:从rs.add到选主事故复盘
条形码目标检测数据集实战:从YOLOv8训练到部署

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战

发布时间:2026/10/12 3:38:56
ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战 【免费下载链接】ccg-workflow多模型协作工作流引擎 — /ccg:go 一个命令AI 自动分析意图、选择策略、编排 Codex Gemini Claude 协作执行项目地址https://gitcode.com/gh_mirrors/cc/ccg-workflow点击查看免费下载导读本文基于 ccg-workflow 开源仓库中的领域技能文档 templates/skills/domains/development/shell.md 展开系统梳理 Shell/Bash 脚本开发的完整知识体系从变量、数组、条件判断、循环、函数等语言基础到带参脚本、日志函数、错误处理等可直接落地的脚本模板再到文本处理、文件操作、网络诊断等常用命令组合与工程最佳实践。读完本文你将掌握一套可直接复制运行的生产级 Bash 脚本范式并理解该技能文档如何在 ccg-workflow 的多模型协作工作流中通过关键词路由自动注入到 AI 上下文服务于日常系统管理与自动化任务。一、技能文档在 ccg-workflow 中的定位与触发机制1.1 frontmatter 声明与触发关键词shell.md是 ccg-workflow 技能体系development开发语言能力领域下的 7 个语言技能之一其文档头部通过 YAML frontmatter 声明了技能身份与触发条件--- name: shell description: Shell 脚本开发。Bash、自动化、系统管理。当用户提到 Shell、Bash、脚本、自动化、Linux命令时使用。 ---这段 frontmatter 不是装饰性的它直接驱动着整个技能发现机制。src/utils/skill-registry.ts 中的parseFrontmatter会递归扫描templates/skills/下所有SKILL.md解析出name、description、user-invocable等元数据collectSkills依据目录结构推断技能类别domains对应domain分类并进一步判断该技能是「脚本型」含scripts/目录还是「知识型」仅文档——shell.md属于**纯知识型knowledge**技能本身不含可执行脚本其价值在于为 AI 提供权威的 Bash 领域知识。1.2 从触发词到上下文注入的完整链路当用户在对话中提到 Shell、Bash、脚本、自动化、Linux 命令等关键词时ccg-workflow 会走两条并行的知识注入路径静态规则路由templates/rules/ccg-skill-routing.md 的「Development Domain」路由表明确约定当用户处理 Shell/Bash 语言时AI 应读取~/.claude/skills/ccg/domains/development/shell.md获取语言级最佳实践并强调「Skill files are authoritative」——当技能文件与训练数据冲突时以技能文件为准。动态 Hook 注入templates/hooks/skill-router.js 注册在UserPromptSubmit事件上对每条用户消息做关键词匹配命中后读取技能文件前 120 行以ccg-domain-knowledge标签注入当前会话上下文供多模型协作时直接引用。1.3 安装路径与更新方式shell.md随 npm 包分发安装时由 src/utils/installer.ts 的installSkillFiles将templates/skills/整树复制到~/.claude/skills/ccg/默认跳过domains/security/目录以规避杀毒软件误报。因此安装后的技能文件路径为~/.claude/skills/ccg/domains/development/shell.md更新方式为重新执行npx ccg-workflow或npx ccg-workflow update。仓库的 src/utils/tests/skills-hygiene.test.ts 会对发布内容做卫生检查确保技能文件不携带绝对主目录路径、凭据形状的裸 token 与公网 IP保证文档可作为知识安全地注入上下文。二、Bash 基础语法精讲2.1 变量与字符串Bash 中变量赋值时等号两侧不能有空格字符串默认无引号包裹readonly声明只读常量。字符串操作是日常脚本的高频需求#!/bin/bash # 变量 nameAlice age25 readonly PI3.14 # 字符串操作 strHello World echo ${#str} # 长度: 11 echo ${str:0:5} # 截取: Hello echo ${str/World/Bash} # 替换: Hello Bash echo ${str,,} # 小写: hello world echo ${str^^} # 大写: HELLO WORLD # 默认值 echo ${var:-default} # 如果 var 未设置返回 default不改变 var echo ${var:default} # 如果 var 未设置设置并返回 default会改变 var值得说明的是${var:-default}与${var:default}的区别前者只做「读时兜底」变量本身保持未设置后者会真正给变量赋值。在需要判断「变量是否被外部传入」时例如环境变量覆盖默认配置推荐使用:-形式避免副作用。2.2 数组# 索引数组 arr(a b c) echo ${arr[0]} # 第一个元素 echo ${arr[]} # 所有元素 echo ${#arr[]} # 数组长度 # 遍历务必加引号防止元素含空格时被分词 for item in ${arr[]}; do echo $item done # 关联数组 (Bash 4) declare -A map map[name]Alice map[age]25 echo ${map[name]}遍历时使用${arr[]}加引号是 Bash 的经典陷阱不加引号时数组元素若包含空格或通配符会被再次拆分或展开导致逻辑错误。2.3 条件判断Bash 的条件判断区分为字符串、数值与文件三类测试统一建议使用[[ ]]而非[ ]# 字符串比较 if [[ $str1 $str2 ]]; then echo Equal fi # 数值比较-eq/-ne/-lt/-le/-gt/-ge if [[ $a -eq $b ]]; then echo Equal; fi if [[ $a -lt $b ]]; then echo Less; fi if [[ $a -gt $b ]]; then echo Greater; fi # 文件测试 if [[ -f $file ]]; then echo File exists; fi if [[ -d $dir ]]; then echo Directory exists; fi if [[ -r $file ]]; then echo Readable; fi if [[ -w $file ]]; then echo Writable; fi if [[ -x $file ]]; then echo Executable; fi # 逻辑运算 if [[ $a -gt 0 $b -gt 0 ]]; then echo Both positive; fi if [[ $a -gt 0 || $b -gt 0 ]]; then echo At least one positive; fi使用[[ ]]的优势在于内部支持/||逻辑运算、/!模式匹配与正则~且变量即使为空也不会触发语法错误。2.4 循环# for 循环花括号展开 通配符展开 for i in {1..5}; do echo $i done for file in *.txt; do echo Processing $file done # while 循环逐行读取文件-r 防止反斜杠转义 while read -r line; do echo $line done file.txt # until 循环条件为假时执行与 while 语义相反 count0 until [[ $count -ge 5 ]]; do echo $count ((count)) donewhile read -r line是逐行处理文件的标准姿势-r保留行内反斜杠 file.txt重定向避免在子 Shell 中丢失变量。((count))为算术运算语法等价于count$((count1))。2.5 函数# 定义函数 greet() { local name$1 echo Hello, $name! return 0 } # 调用 greet Alice result$? # 获取返回值0 成功非 0 失败 # 返回字符串利用命令替换捕获 stdout get_date() { echo $(date %Y-%m-%d) } today$(get_date)函数内建议用local声明局部变量避免污染全局命名空间Bash 函数的「返回值」本质是退出码0–255若需返回字符串惯例是用echo输出 命令替换$(...)捕获。三、实用脚本模板3.1 带参数的标准 CLI 脚本这是生产环境最通用的脚本骨架set -euo pipefail开启严格模式usage()输出帮助whilecase解析长短选项#!/bin/bash set -euo pipefail usage() { cat EOF Usage: $(basename $0) [OPTIONS] input Options: -o, --output FILE Output file -v, --verbose Verbose mode -h, --help Show this help EOF exit 1 } # 默认值 OUTPUT VERBOSEfalse # 解析参数 while [[ $# -gt 0 ]]; do case $1 in -o|--output) OUTPUT$2 shift 2 ;; -v|--verbose) VERBOSEtrue shift ;; -h|--help) usage ;; -*) echo Unknown option: $1 usage ;; *) INPUT$1 shift ;; esac done # 检查必需参数 if [[ -z ${INPUT:-} ]]; then echo Error: Input is required usage fi # 主逻辑 main() { if $VERBOSE; then echo Processing $INPUT... fi # 处理逻辑 } main要点拆解set -euo pipefail三连-e命令出错即退出、-u使用未定义变量即报错、pipefail让管道中任一命令失败都导致整体失败$#为剩余参数个数shift 2一次消费「选项 值」两个位置参数${INPUT:-}的写法保证-u模式下未传入位置参数也不会报「unbound variable」用独立main函数收口主逻辑便于trap与模块化。3.2 日志函数带颜色的分级日志是脚本可观测性的基础。注意 ANSI 颜色码需配合echo -e才能解析转义且错误日志要重定向到 stderr2#!/bin/bash # 颜色定义 RED\033[0;31m GREEN\033[0;32m YELLOW\033[1;33m NC\033[0m # No Color log_info() { echo -e ${GREEN}[INFO]${NC} $1 } log_warn() { echo -e ${YELLOW}[WARN]${NC} $1 } log_error() { echo -e ${RED}[ERROR]${NC} $1 2 } die() { log_error $1 exit 1 }die()是「记录致命错误并退出」的组合封装可在脚本任何位置直接die 配置文件不存在快速失败。颜色输出在 CI 无 TTY 环境下会保留转义字符可在非交互检测后关闭颜色。3.3 错误处理与临时文件清理结合trap实现「出错即报告行号」与「退出即清理临时文件」双保险#!/bin/bash set -euo pipefail # 错误处理任何命令失败时报告出错行号 trap echo Error on line $LINENO; exit 1 ERR # 清理函数脚本正常/异常退出时都删除临时文件 cleanup() { rm -f $TEMP_FILE } trap cleanup EXIT TEMP_FILE$(mktemp)trap ... ERR配合set -e任一命令返回非零即打印行号定位问题trap cleanup EXIT无论脚本正常结束还是被exit中断都会执行清理避免mktemp产生的临时文件残留mktemp生成唯一临时文件比硬编码/tmp/xxx更安全避免权限与冲突问题。四、常用命令组合速查4.1 文本处理铁三角grep / sed / awk# grep - 搜索 grep -r pattern . grep -v exclude # 排除匹配行 grep -i case insensitive # 忽略大小写 grep -E regex # 扩展正则 # sed - 替换 sed s/old/new/g file sed -i s/old/new/g file # 原地修改-i 直接写回文件 sed -n 10,20p file # 仅打印 10-20 行 # awk - 列处理 awk {print $1} file # 打印第一列 awk -F: {print $1} /etc/passwd # 指定冒号分隔符 awk NR1 {sum$1} END {print sum} file # 跳过表头累加第一列 # 组合经典管道流水线 cat file | grep pattern | awk {print $2} | sort | uniq -c三个工具的分工边界清晰grep 负责过滤行sed 负责行内替换/区间打印awk 负责按列计算与汇总。awk NR1 {sum$1} END {print sum}这类「跳过表头 累加 结尾输出」的写法是处理日志统计的万能公式。4.2 文件操作# 查找 find . -name *.txt find . -type f -mtime -7 # 7 天内修改过的文件 find . -size 100M # 大于 100M 的文件 find . -name *.log -exec rm {} \; # 查找并删除 # 批量重命名参数扩展去掉 .txt 后缀再加 .md for f in *.txt; do mv $f ${f%.txt}.md done # 批量处理xargs 把 find 结果逐条喂给 grep find . -name *.py | xargs grep TODO${f%.txt}是参数扩展的「去后缀」操作%从右匹配最短配合for循环即可实现任意批量重命名。find -exec与xargs都能批量执行注意文件名含空格时优先使用find ... -print0 | xargs -0的空字节分隔方案。4.3 网络诊断# curl - HTTP 请求 curl -s https://api.example.com/data curl -X POST -H Content-Type: application/json -d {key:value} URL curl -o output.file URL # 端口检查 nc -zv host 80 # 快速探测端口连通性-z 不发送数据 ss -tulpn | grep :80 # 查看本机监听端口与进程ss是netstat的现代替代品-tTCP、-uUDP、-l仅监听、-p显示进程、-n数字显示grep :80可快速定位占用端口的服务。五、最佳实践清单#!/bin/bash # 1. 使用 set 选项开启严格模式尽早暴露错误 set -euo pipefail # 2. 引用变量几乎所有场景都加双引号防止分词与通配展开 echo $variable # 3. 使用 [[ ]] 而非 [ ]更强大的模式匹配与逻辑运算 if [[ -f $file ]]; then ... fi # 4. 使用 $() 而非反引号可嵌套、语义清晰、转义更少 result$(command) # 5. 使用 local 声明局部变量避免污染全局命名空间 func() { local varvalue } # 6. 检查命令是否存在执行前用 command -v 探测 command -v git /dev/null || die git not found # 7. 使用 shellcheck 静态检查 # shellcheck script.sh逐条解读set -euo pipefail是「三条命」式保险已成为现代 Bash 脚本的事实标准不加引号的$variable在值为空或含空格时会静默裂变是排查难度最高的隐蔽 Bug 源[[ ]]支持~正则、/||且对空值更宽容反引号在嵌套时无法正确处理内部引号$()无此问题local可防函数内部变量「泄漏」到全局command -v探测可执行文件是否存在/dev/null静默丢弃输出避免命令不存在时抛出难懂的错误shellcheck 是 Bash 脚本的必备静态分析工具能自动识别上述绝大多数隐患。六、在 ccg-workflow 工作流中使用本文知识结合 templates/rules/ccg-skill-routing.md 的路由规则当你向 ccg-workflow 发起「写一个批量重命名脚本」「排查端口占用」「自动化部署流程」等请求时AI 会先读取本技能文档获取权威 Bash 知识再结合仓库内真实存在的 Shell 工程实践例如 templates/codex/hooks/ccg-workflow.py、templates/skills/bt-panel/bt_deploy.py 等脚本型技能的部署实现给出符合项目规范的自动化方案。实践建议让 AI 按本文模板生成脚本直接要求「按set -euo pipefail trap 清理 分级日志的标准模板写一个 xx 脚本」即可获得可直接运行的生产级代码用 shellcheck 做质量门禁脚本产出后可用shellcheck检查再交由/ccg:verify-quality等质量门技能复核注意 Bash 版本兼容本文的关联数组declare -A要求 Bash 4macOS 自带 Bash 3.2 需通过brew install bash升级或在 shebang 中指定#!/usr/bin/env bash知识注入有据可依技能文件以「权威优先」原则工作AI 回答 Bash 问题时优先遵循本技能文档而非训练数据保证答案与仓库规范一致。结语templates/skills/domains/development/shell.md 浓缩了 Bash 开发从语法基础到工程最佳实践的全链路知识既是人类开发者的速查手册也是 ccg-workflow 多模型协作中注入 AI 上下文的权威领域知识。掌握本文的语法要点、脚本模板与命令组合配合set -euo pipefail、trap清理、shellcheck静态检查三大工程护盾即可写出健壮、可维护、可复用的生产级 Shell 脚本让系统管理自动化任务在 CCG 工作流中稳定落地。赞分享【免费下载链接】ccg-workflow多模型协作工作流引擎 — /ccg:go 一个命令AI 自动分析意图、选择策略、编排 Codex Gemini Claude 协作执行项目地址https://gitcode.com/gh_mirrors/cc/ccg-workflow点击查看免费下载相关推荐ccg-workflow 的 Shell 领域技能详解从 Bash 基础到生产级脚本模板的实战指南ccg workflow 的 Shell 领域技能详解从 Bash 基础到生产级脚本模板的实战指南 本文以 templates/skills/domains/人工智能AI 应用开发工具CLIAI Agentdsh-pluginDeepSeekCCG Workflow 实战指南用 /ccg:go 一条命令驱动 Claude Codex Gemini 多模型协作开发CCG Workflow 实战指南用 /ccg:go 一条命令驱动 Claude Codex Gemini 多模型协作开发 CCGClaude ccg-workflow 多模型协作系统技术全解从安装架构到 DeepSeek Harness 落地ccg workflow 多模型协作系统技术全解从安装架构到 DeepSeek Harness 落地 ccg workflow简称 CCG是围绕 Clau人工智能AI 应用开发工具CLIAI Agentdsh-pluginDeepSeek上一篇详解guided-diffusion的噪声调度策略cosine vs linear下一篇突破200K上下文LMDeploy动态NTK技术让长文档处理效率提升300%实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号