开源推荐
evening
GitHub 热门项目: Bunster
2026-06-19
1 阅读
GitHub Trending
GitHub 项目:bunster
仓库地址:https://github.com/yassinebenaid/bunster
星级:2676 | 作者:亚辛贝奈德
项目描述:将 shell 脚本编译为静态二进制文件。
===================================================
自述文件内容:
# 邦斯特
[了解更多关于bunster的使用。](https://bunster.netlify.app)
## 安装
我们有一个 bash 脚本,可以安装 `bunster` 并将其添加到您的 `$PATH` 中。
````外壳
卷曲-f https://bunster.netlify.app/instal
# 邦斯特
[](https://github.com/yassinebenaid/bunster/actions/workflows/ci.yml)
[](https://bunster.netlify.app)
一个 shell 编译器,可将 shell 脚本转换为安全、可移植和静态的二进制文件。与其他工具(即 [shc](https://github.com/neurobin/shc))不同,Bunster 不仅仅将脚本包装在二进制文件中。它实际上将它们编译为独立于 shell 的程序。
在底层,**Bunster** 将 shell 脚本转换为 [Go](https://go.dev) 代码。然后它使用 [Go Toolchain](https://go.dev/dl) 将代码编译为可执行文件。
**Bunster** 的目标是与 `bash` 兼容作为起点。预计大多数“bash”脚本只能与 Bunster 一起使用。我们发布 v1 后将立即支持其他 shell。
> [!警告]
> 该项目正处于开发的早期阶段。 [到目前为止仅支持一部分功能](https://bunster.netlify.app/features/simple-commands)。
## 特点
除了兼容 bash 之外。 Bunster 提供了许多附加功能,增强了其独特性:
- **静态二进制文件**:用bunster编译的脚本不仅仅是脚本的包装器,也不依赖于系统上的任何外部shell。
- **模块化**:与在单个文件中编写的传统 shell 脚本不同,bunster 提供了一个模块系统,允许您根据需要跨多个文件分发代码。 [了解更多](https://bunster.netlify.app/workspace/modules)
- **包管理器**:bunster 有一个内置的包管理器,可以轻松地将模块作为库发布和使用。 [了解更多](https://bunster.netlify.app/workspace/modules)
- **原生 `.env` 文件支持**:bunster 原生支持 `.env` 文件,允许您在运行时从 `.env` 文件加载变量。 [了解更多](https://bunster.netlify.app/features/environment-files)
- **静态资产嵌入**:bunster 允许您在编译时将文件和目录嵌入到已编译的程序中。只需像运行时系统中的普通文件一样使用它们即可。 [了解更多](https://bunster.netlify.app/features/embedding)
- **内置标志解析**:您不再需要手动解析标志。只需声明您期望的标志,然后让 Bunster 完成其余的工作。 [了解更多](https://bunster.netlify.app/features/functions#flags)
- **静态分析**:bunster 静态分析您的脚本并在编译时报告潜在的错误。 (_擦拭_)
## 开始使用
[了解更多关于bunster的使用。](https://bunster.netlify.app)
## 安装
我们有一个 bash 脚本,可以安装 `bunster` 并将其添加到您的 `$PATH` 中。
````外壳
卷曲-f https://bunster.netlify.app/instal