一个符合 POSIX 标准的 bash 脚本,用于在用户和 shell 级别安装并切换多个 Node.js 版本。
google/zx
基于 JavaScript 编写 Shell 风格脚本的工具,封装 child_process 并自动转义参数,兼容多平台。
- Star
- 45,813
- Fork
- 1,320
- 未关闭 Issue
- 22
- 最近提交
- 9天前
这是什么?
zx 让你用 JavaScript 编写脚本,同时以简洁的语法执行 Shell 命令。其 `$` 模板标签可执行命令、自动转义插值参数并返回输出,管道、并行执行和文件操作等常见 Bash 任务都可以用普通代码完成。
该包封装了 Node.js 的 child_process,提供跨平台辅助函数和合理的默认配置,省去了直接启动进程时的大量样板代码。它支持 Linux、macOS 和 Windows,可运行于 Node.js、Bun、Deno 和 GraalVM Node.js,底层 Shell 可选 Bash 或 PowerShell。
支持 CommonJS 与 ESM 模块,也兼容 JavaScript 和 TypeScript 项目。另提供更轻量的 zx@lite 版本。
核心功能
- 01通过 `$` 模板标签执行 Shell 命令,并自动转义参数。
- 02提供对 Node.js child_process 的跨平台封装。
- 03底层支持 Bash 和 PowerShell。
- 04可在 Node.js、Bun、Deno 和 GraalVM Node.js 上运行。
- 05同时支持 CommonJS 与 ESM,兼容 JavaScript 和 TypeScript。
适用场景
- 编写调用 git、docker 等命令行工具的部署或构建脚本。
- 在一个 Node.js 脚本中并行执行多条 Shell 命令。
- 用可维护的 JavaScript 或 TypeScript 代码替代复杂的 Bash 脚本。
快速上手
- 1
使用 npm 安装 zx
npm install zx - 2
按文档用 zx API 编写脚本并运行
使用前须知
- README 中的安装和使用细节仅见于外部文档,入门需要阅读链接的文档。
标签
常见问题
- zx 是什么?
- 基于 JavaScript 编写 Shell 风格脚本的工具,封装 child_process 并自动转义参数,兼容多平台。 zx 让你用 JavaScript 编写脚本,同时以简洁的语法执行 Shell 命令。其 `$` 模板标签可执行命令、自动转义插值参数并返回输出,管道、并行执行和文件操作等常见 Bash 任务都可以用普通代码完成。
- zx 可以免费使用吗?用的什么许可证?
- zx 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- zx 还在维护吗?
- 活跃维护中。zx 最近一次提交是在 2026年10月12日。
- zx 适合用来做什么?
- 编写调用 git、docker 等命令行工具的部署或构建脚本。 在一个 Node.js 脚本中并行执行多条 Shell 命令。 用可维护的 JavaScript 或 TypeScript 代码替代复杂的 Bash 脚本。
- zx 怎么安装和运行?
- 使用 npm 安装 zx: npm install zx 按文档用 zx API 编写脚本并运行
- 在哪里获取 zx?
- 源代码和安装说明在 GitHub 上:https://github.com/google/zx
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
9.6万1.1万ShellMIT更新于 11天前
通用命令行模糊查找工具,可过滤任意输入列表,并为 Shell 脚本提供交互式终端选择界面。
8.4万5336GoMIT更新于 14小时前
跨平台的命令行 Shell、脚本语言与自动化框架,支持 Windows、Linux 和 macOS。
5.6万8506C#MIT更新于 14小时前
一个更智能的 cd 命令,记住常用目录,几个按键即可跳转,支持主流 shell。
4万935RustMIT更新于 4天前
通过将命令行参数匹配到 manpage 帮助文本来解释 shell 命令的网页工具与 Python 库。
1.4万854PythonGPL-3.0更新于 2个月前