A simple command shell: part 2

Upload via Moodle as: shell.tar or shell208.c

As usual, you are welcome to work with a partner if you wish.

Goals

Rubric

Maximum score: 12 + ε points (with 1 point of extra credit available) === Regression testing === 3 - everything from Part 1 works === New features === 3 - support "command1 | command2" (piping command1's stdout to command2's stdin, including command-line arguments for each command) 2 - support "command < file" (redirecting command's stdin from a file) 1 - if a SIGINT signal is sent to the parent (shell) process, respond by printing "^C" to stderr and printing the prompt again; to exit the shell, the user should type "exit" === Other === 3 - code quality ε - come up with a clever-yet-friendly name for your shell and modify your prompt accordingly === Extra credit === 1 - support multi-pipe pipelines (you may impose a fixed limit of 7 |'s if that helps)

Your assignment

Add features to your shell208 program that you started in Part 1. See the rubric above for details.

Submitting your work

Submit your program via Moodle as described in Part 1.

Have fun!