Agent Skills
返回列表
💻

Bun Shell 脚本执行器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/bun-shell-script-executor。

技能介绍

要解决的具体问题

传统 shell 脚本在跨平台场景下面临三个核心痛点:平台兼容性差导致同一脚本在 macOS 与 Linux 行为不一致;类型安全缺失让参数拼接与错误处理依赖开发者经验;与 TS/JS 集成困难迫使团队维护两套技术栈。例如,在 Node.js 中调用 child_process.exec 执行 shell 命令时,开发者需手动处理路径分隔符差异、转义特殊字符,并通过字符串拼接构造命令,这种模式不仅易错,还导致业务逻辑与脚本细节强耦合。

核心能力与关键步骤

该技能通过 Bun 内置的 $ shell API(Bun.Shell)重构了 shell 脚本的调用范式。其核心能力体现在三个层面:

  • 标记模板字面量:通过 $ 前缀的模板字符串直接嵌入 shell 命令,例如 ` $ls -la $dir `,自动处理参数注入与转义。
  • 自动 glob 扩展:支持在命令中使用 * 等通配符,由 Bun.Shell 自动扩展为匹配的文件列表。
  • 管道进程组合:允许通过 | 符号串联多个命令,例如 ` $cat file.txt | grep 'error' | wc -l `,实现复杂的数据流处理。

关键步骤包括:在 TypeScript 中导入 Bun.Shell,通过模板字面量构造命令,利用自动 glob 扩展简化文件操作,通过管道组合实现多命令协同。

适用边界与注意点

该技能的适用性依赖 Bun 运行时环境,无法在纯 Node.js 项目中直接使用。此外,某些特定平台的 shell 内置命令可能仍存在兼容性限制。在需要精细控制进程间通信或依赖特定 shell 特性的场景中,仍需回退到传统方案。

使用场景

  • 编写自动化脚本,将目录中所有日志文件打包过滤,并导出为 CSV 报表供后续分析。
  • 在 TypeScript 服务中封装跨平台清理临时文件逻辑,避免手动拼接 `/` 与 `\` 路径分隔符。
  • 执行包含 .tsx 文件的自动化脚本,直接渲染界面组件输出截图,无需额外编译打包。

适合人员

  • 需要编写跨平台自动化脚本的后端工程师,希望直接在 TypeScript 中安全调用命令行并复用类型。
  • 用 Bun 构建全栈应用的开发者,希望用管道组合快速处理本地数据流,减少对 bash 脚本的依赖。
  • 维护跨 macOS 与 Linux CI/CD 流水线的工程师,希望统一脚本执行逻辑以消除环境差异引发的故障。