Exercises
On page 146 of Advanced UNIX Programming (Prentice Hall), Marc Rochkind describes how deadlock can occur when using pipes for bidirectional communication. Why does this not apply to Expect?
Modify the
firstline
script (page 178) to make it check that thespawn
command succeeds and that the program is successfully executed. Upon failure, send any diagnostics to the standard error and return a nonzero status.On page 292, there are two commands in the string passed to
/bin/sh
. Simplify the string.Write a script that starts two
xterm
s, each of which use a separate shell (as usual). Make the script create a transcript of bothxterm
s in a single file. Provide a parameter that switches from logging by line to logging by individual character.It is possible to write a better version of
ptyfix
(page 302) using the diagnostic output from Expect. Modify the script so that when Expect reports that a pty is hung, the new version finds the process that is responsible and kills it.
Get Exploring Expect now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.