magnolia-shell

Magnolia Shell (mash)

A lightweight, feature-rich Unix shell written in C++17. Designed to be clean, responsive, and independent of heavy terminal dependency libraries (like readline), using direct POSIX system APIs and terminal raw mode configuration.

Features

1. Interactive Line Editing & Autocomplete

2. Multi-Stage Pipelines & Redirections

3. Robust Signal & Terminal Control

4. Smart Path & Command Parsing

5. Rich Set of Core Built-in Commands

In addition to running external programs via execvp, mash implements the following built-ins directly:


Build Requirements


Getting Started

Download Pre-built Binary

You can download the compiled binaries directly from the Releases page of this repository:

After downloading, grant execution permissions and run:

chmod +x mash-linux-amd64 # or mash-macos
./mash-linux-amd64

Compile from Source

Compile the shell executable using the provided build script:

./build.sh

Run

Launch the shell:

./mash

License

This project is licensed under the MIT License. See the LICENSE file for details.