A custom shell implementation written in Rust with modern features.
- Command Execution: Run external commands and shell builtins
- Command History: Navigate through previous commands with up/down arrows
- History Search: Type to see matching commands from history in gray (press right arrow to accept)
- Tab Completion: Auto-complete commands from your PATH
- Cursor Navigation: Move cursor left/right to edit anywhere in the command line
- I/O Redirection: Support for stdout (
>,>>) and stderr (2>,2>>) redirection - Piping: Chain multiple commands together with
|
exit- Exit the shellecho- Print text to stdouttype- Display command type and locationpwd- Print current working directorycd- Change directoryhistory- View and manage command historyhistory- Show all historyhistory N- Show last N commandshistory -r FILE- Read history from filehistory -w FILE- Write history to filehistory -a FILE- Append history to file
cargo build --releasecargo run
# or after building
./target/release/rshell$ ls -la
$ echo "Hello World" > output.txt
$ cat file.txt | grep pattern
$ history 10
$ cd ~/projects- Rust 1.91 or higher
- Unix-like system (Linux, macOS)
MIT