One of my most exciting projects in my Systems class was creating a UNIX shell in C from scratch. Key features:
- process basic commands such as cd, rm, exit, and ln
- handle file redirection using input, output, and append characters
- dealt with foreground and background job control, as well as stop and kill signals
- checks for error conditions at all stages of command line parsing
All code available upon request.