[cs631apue] sish grades

Jan Schaumann jschauma at stevens.edu
Fri Dec 21 17:49:23 EST 2018


All,

I've just sent out grades for 'sish'.  A few things to note:

I didn't take points off for this, but something none of you considered
was how to invoke commands with quotes.  Think "touch 'foo bar'" or
"ps | awk '{print $1}'".  This is just one example of how tokenization
for a shell is actually a bit more complex that it may initially seem.

Another issue that you probably want to think about in more detail is
the combination of background processes with output redirection, pipes
etc.

Some of you trapped SIGINT even for executing commands;  that's trouble,
because now I can't abort any commands I started:

sish$ find / >/dev/null
^C
[now I'm trapped waiting until it completes]


Your shell also needs to trap SIGTSTP, otherwise when
hitting ^Z, your shell is suspended.  Compare to how any other shell
works.


Several of you checked for the 'cd' command by comparing the initial
first two characters of the input.  That means that if I want to run
a command called "cdnotcd", it won't work.


I hope you enjoyed the assignment and learned a bit more about how a
shell works; as you use the unix systems in the future, I'm sure you'll
have a better perspective of what's involved.

This assignment completes your course work together with the course
notes you submitted.  I'll be reviewing your notes and hand in final
grades either later tonight or over the weekend.  I hope you all enjoyed
the semester and I wish you all the best going forward.

Happy holidays,
-Jan


More information about the cs631apue mailing list