reubeno/brush
GitHub: reubeno/brush
用 Rust 实现的 bash/POSIX 兼容 Shell,可直接运行现有 bash 脚本和配置,同时提供语法高亮与自动建议等现代交互体验。
Stars: 1857 | Forks: 88
`brush` (**B**o(u)rn(e) **RU**sty **SH**ell) 是一个用 Rust 编写的现代 shell,兼容 [bash](https://www.gnu.org/software/bash/) 和 [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html)。无需修改即可运行您现有的脚本和 `.bashrc` —— 内置语法高亮和自动建议功能。 ## 概览 ✅ 现有的 `.bashrc` 直接可用 —— 别名、函数、补全等所有内容。
✨ 内置语法高亮和自动建议。
🧪 通过了 [约 1700 个兼容性测试](brush-shell/tests/cases) 以确保与 bash 兼容。
🧩 可通过 `brush_core::Shell` 轻松嵌入到您的 Rust 应用中。
🍺 使用 Homebrew 安装 (macOS/Linux)
Homebrew 用户可以使用 [`brush` formula](https://formulae.brew.sh/formula/brush) 进行安装: ``` brew install brush ```🐧 在 Arch Linux 上安装
Arch Linux 用户可以从官方的 [extra 仓库](https://archlinux.org/packages/extra/x86_64/brush/) 安装 `brush`: ``` pacman -S brush ```🚀 通过 `cargo binstall` 安装预编译二进制文件
您可以使用 [cargo binstall](https://github.com/cargo-bins/cargo-binstall) 来安装预编译的 `brush` 二进制文件。安装 `cargo-binstall` 后,您可以运行: ``` cargo binstall brush-shell ```🚀 从 GitHub 安装预编译二进制文件
我们会将适用于 Linux (x86_64, aarch64) 和 macOS (aarch64) 的 `brush` 预编译二进制文件发布到 GitHub 的官方 [releases](https://github.com/reubeno/brush/releases) 中。您可以手动从那里发布的归档文件中下载并解压 `brush` 二进制文件,或者使用 GitHub CLI 进行下载,例如: ``` gh release download --repo reubeno/brush --pattern "brush-x86_64-unknown-linux-gnu.*" ``` 下载适用于您平台的归档文件后,您可以使用 [GitHub CLI](https://cli.github.com/) 验证其真实性,例如: ``` gh attestation verify brush-x86_64-unknown-linux-gnu.tar.gz --repo reubeno/brush ```🐧 使用 Nix 安装
如果您是 Nix 用户,可以使用注册的版本: ``` nix run 'github:NixOS/nixpkgs/nixpkgs-unstable#brush' -- --version ```🔨 从源代码构建
要从源代码构建,首先安装一个可用的(且较新的)`rust` 工具链;我们建议通过 [`rustup`](https://rustup.rs/) 进行安装。然后运行: ``` cargo install --locked brush-shell ```🙏 致谢
本项目依赖于许多优秀的开源 crate: * [`reedline`](https://github.com/nushell/reedline) — 类 readline 的输入和交互功能 * [`clap`](https://github.com/clap-rs/clap) — 命令行解析 * [`fancy-regex`](https://github.com/fancy-regex/fancy-regex) — 正则表达式支持 * [`tokio`](https://github.com/tokio-rs/tokio) — 异步 runtime * [`nix`](https://github.com/nix-rust/nix) — Unix/POSIX API * [`criterion.rs`](https://github.com/bheisler/criterion.rs) — 性能基准测试 * [`bash-completion`](https://github.com/scop/bash-completion) — 补全测试套件标签:bash, brush-shell, CLI, POSIX, Rust, Shell, WiFi技术, 可视化界面, 威胁情报, 嵌入式, 开发者工具, 开源, 系统工具, 终端, 网络流量审计, 自动补全, 解析器, 语法高亮, 通知系统