21sh is a bash-styled shell project completely written from scratch in C with very limited access to libraries and tools.
- Learn a lot more about the inner workings of the UNIX system.
- Learn about the different type of shell implementations.
- Learn what a lexer is and how to write it.
- Learn what a parser is and how to write it.
- Learn how to write nice and clean code.
- To create a stable and complete UNIX shell.
- Error monitoring without using
errno. - Prompt display.
- Complete management of input.
- (Multiline) line edition.
- Redirection with the following operators:
>>><<<>&<&
- Control operators:
|||&&;
- Quoting managment
",', and\. - Basic parameter expansion.
- Command history
- Autocomplete
- Builtins:
echocdenvsetenvunsetenvexittype
Install:
make && make clean
Run:
./21sh