That is our group project to answer an essential question, that computer science pioneer in 1960s were faced with - "How users can interact with OS kernel?"
Builtin commands:
- cd with -i, -P, -u flags
- pwd with -L, -P flags
- export
- unset
- fg with %n and %str arguments
- env with -i, -P, -u flags
- which with -a, -s flags
- echo with -n, -e, -E flags
- exit
- history
- Managing CTRL+D, CTRL+C and CTRL+Z signals
- Managing ArrowUp and ArrowDown buttons to watch history
- Command line editing
- Working with any Unicode symbols
- Supporting text insertion
- Support of pipes "|"
- Support of redirection output to file ">" and ">>"
- Support of redirection input from file "<"
- Support of logical operators "&&" and "||"
- Support of double quotes, back quotes and single quotes