After writing a very simple shell (christened "shush") that can basically only execute simple commands one at a time, I'm attempting to make something more ambitious by using these university assignments as a guide for the features I want to implement:
- Lexer
- Parser
- Execute simple commands
- Handle input and output redirection
- Handle pipes
- Add scripting support
- Job control
- Managing environment variables
- Maintain command history