Skip to content
/ fsh Public

Small shell written in Rust as a learning project.

License

Notifications You must be signed in to change notification settings

fowl-ow/fsh

Repository files navigation

fsh (fowl shell)

This is a learning project with the goal of building a small shell in Rust (based on the codecrafters challenge).

Features

  • Basic REPL (Read-Eval-Print-Loop) with command execution (built-in and path), argument handling (separation by whitespace only)
  • Supported built-in commands:
    • echo
    • exit
    • type
    • pwd

Roadmap

  • Additional built-in commands like cd, and history
  • 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

Installation

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 Setup

Development requires Rust.

Add git hooks:

git config core.hooksPath .githooks

Project Links

About

Small shell written in Rust as a learning project.

Resources

License

Stars

Watchers

Forks

Packages

No packages published