29 lines
791 B
Markdown
29 lines
791 B
Markdown
# 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`
|
|
|
|
```sh
|
|
make build
|
|
make run
|
|
make clean
|
|
```
|