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:
echo
cd
env
setenv
unsetenv
exit
type
Install:
make && make clean
Run:
./21sh