GitHub - reubeno/brush:🐚用 Rust 实现的 bash/POSIX 兼容的 shell 🦀

主要观点
“brush”是一个用 Rust 实现的兼容 POSIX 和 bash 的 shell,在 Linux、macOS 和 WSL 上构建和测试,原生 Windows 支持为实验性的。它可用于交互式使用,能执行多数“sh”和“bash”脚本,但有已知限制,如部分“set”和“shopt”选项未完全实现、“history”内置命令及对命令历史的编程操作支持不足等。欢迎各种贡献和反馈,项目有社区 Discord 服务器。主要通过与其他现有 shell 比较行为进行测试,依赖多个 OSS crate 实现功能,也使用多种工具进行测试和工程支持,还有其他非 C/C++实现的 POSIX 风格 shell 可供参考。

关键信息

  • 可从 GitHub 发布的预构建二进制文件、cargo binstall、源代码、Nix 和 Arch Linux 安装。
  • 社区 Discord 服务器链接为https://discord.gg/kPRgC9j3Tj
  • 主要依赖的 OSS crate 包括reedlineclapfancy-regextokionix rust crate 等,用于测试等的工具有pprof-rscriterion.rsbash-completion等。
  • 有其他非 C/C++实现的 POSIX 风格 shell 如nushellrusty_bashmvdan/shOilsfish等。

重要细节

  • 运行brush时会处理.bashrc等配置,可通过创建~/.brushrc文件区分其外观。
  • 项目基于 MIT 许可证,可自由使用和分发。
  • 集成测试包含 675+测试用例,通过与 oracle 比较标准输出和退出码来测试。
阅读 30
0 条评论