catsh
A small (ish) shell written in ( *hopefully ) modern C++.
Made while doing the codecrafters' shell implementation challenge -- but let's see I'll add stuff that I find interesting. Given it's at ~1000 LOC the goal is still to keep it as small as possible, as part of that
- Almost no error handling on POSIX apis or otherwise
- Linux only
- Edge cases are intended to be unhandled wherever they are
- focus on "terse" modern cpp code and practices, even if they are not the most efficient
what we DO have is
- no external dependencies ( not even GNU readline ), except POSIX and C++ standard library
- support for pipelines, redirection, and background processes
Running
make wrapper over cmake
make build
make run
make clean