A modern bash- and POSIX-compatible shell written in Rust, with built-in syntax highlighting and auto-suggestions.
Brush is a bash- and POSIX-compatible shell implemented in Rust, designed to run existing shell scripts and configurations without changes. It solves the problem of modernizing traditional shell environments by adding built-in syntax highlighting and auto-suggestions while maintaining high compatibility with established standards.
Developers and system administrators who rely on bash/POSIX shells but want a more modern, user-friendly interactive experience without sacrificing script compatibility.
Developers choose Brush for its strong commitment to bash compatibility, allowing seamless migration from bash, combined with the safety and performance benefits of Rust and enhanced interactive features like syntax highlighting out of the box.
🐚bash/POSIX-compatible shell implemented in Rust 🦀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs existing .bashrc files, aliases, functions, and completions without modification, validated against ~1500 compatibility tests as noted in the README.
Built-in syntax highlighting and auto-suggestions powered by reedline, enabled by default for an interactive shell experience.
Written in Rust, offering memory safety and potential performance benefits over traditional C-based shells like bash.
Provides brush_core::Shell for easy embedding within Rust applications, enabling shell functionality in custom tools.
Missing some bash features like coproc and select, with edge cases unsupported, as admitted in the README's compatibility reference.
As a newer project, it lacks the extensive third-party tools, plugins, and community scripts available for established shells like bash.
Requires specific methods like cargo binstall or building from source on some platforms, which may be less straightforward than standard package managers for bash.