- bash or other robust UNIX shell
- gcc (if not gcc, you can directly run the compiled binary)
gcc sh.c
./a.out
./sh_compiled
Test cases are shown in test.txt. Reason test cases are good: 1.Covered all requirements. 2.Has a combination of redirect and parallel. 3.Contains test cases that leads to error.
Code changes are shown in changes.pdf
UML is drawn in uml.pdf