This is a learning project with the goal of building a small shell in Rust (based on the codecrafters challenge).
- Basic REPL (Read-Eval-Print-Loop) with command execution (built-in and path), argument handling (separation by whitespace only)
- Supported built-in commands:
echoexittypepwd
- Additional built-in commands like
cd, andhistory - Quoting & escaping (single & double quotes, backslash escaping)
- I/O redirection (stdout, stderr)
- Pipelines (built-in and multi-command pipelines)
- Autocompletion (built-in, external, path)
- History (list, execute from history, arrow navigation) & history persistence
You can either download a binary from the releases page or build it from source (requires cargo / rust):
git clone https://github.com/fowl-ow/fsh.git
cd fsh
cargo install --path .Development requires Rust.
Add git hooks:
git config core.hooksPath .githooks- Changelog: CHANGELOG.md