Bun Shell 脚本执行器
将以下提示词粘贴到你的 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 流水线的工程师,希望统一脚本执行逻辑以消除环境差异引发的故障。