Rush Shell v0.8.0

A comprehensive POSIX sh-compatible shell implementation written in Rust

Rush is a feature-rich Unix shell that combines the reliability and safety of Rust with full POSIX compliance. Built from the ground up with performance, security, and maintainability in mind.

~96%
POSIX Compliant
32
Built-in Commands
499+
Test Functions
100%
Rust Powered
rush-sh
/h/d/p/r/rush-sh $ โ–ˆ

๐Ÿš€ Quick Start

โšก

Interactive Mode

./target/release/rush-sh

Start the shell in interactive mode with a modern prompt

๐Ÿ“œ

Script Mode

./target/release/rush-sh script.sh

Execute commands from a file

๐ŸŽฏ

Command Mode

./target/release/rush-sh -c "echo Hello World"

Execute a single command string

โœจ Key Features

๐Ÿ”ง

Full POSIX Compliance

Implements IEEE Std 1003.1-2008 with comprehensive support for shell grammar, built-in utilities, and standard behavior

View Compliance Status โ†’
โšก

High Performance

Leverages Rust's zero-cost abstractions for optimal execution speed while maintaining memory safety

View Benchmarks โ†’
๐Ÿ›ก๏ธ

Memory Safe

Built with Rust's ownership system ensuring no memory leaks, data races, or segmentation faults

๐ŸŽจ

Modern Interface

Enhanced with colors, tab completion, and intelligent prompt with condensed directory display

๐Ÿ”จ

Rich Feature Set

32 built-in commands, advanced expansions, control structures, and comprehensive variable support

Explore Features โ†’
๐Ÿงช

Thoroughly Tested

499+ test functions covering all components with comprehensive edge case and error condition coverage

๐Ÿ†• What's New

๐Ÿš€

Job Control

Full POSIX-compliant job control with background execution (&), job listing (jobs), foreground/background control (fg/bg), job termination (kill), wait for jobs (wait), and $! special variable for last background PID

โšก

Subshell Support

Full POSIX-compliant subshells with state isolation, exit code propagation, trap inheritance, and depth limit protection (60+ test cases)

๐Ÿ”ง

File Descriptor Operations

Complete FD table management with duplication (N>&M, N<&M), closing (N>&-, N<&-), and read/write operations (30+ test cases)

๐ŸŽฏ

Here-documents & Here-strings

Full implementation of << and <<< with proper expansion handling for multi-line and single-line input redirection

๐Ÿ”

Enhanced Trap System

Signal normalization, multiple handlers, trap display/reset, and signal queue with overflow protection

๐ŸŽฏ Getting Started

1

Build the Project

git clone https://github.com/drewwalton19216801/rush-sh.git
cd rush-sh
cargo build --release
2

Start Interactive Shell

./target/release/rush-sh
3

Try Basic Commands

echo "Hello, Rush!"
ls -la
pwd