UNIX Shell

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.