The send_tty Command
send_tty is analogous to expect_tty. The send_tty command sends its output to the screen in such a way that it cannot be redirected by the shell. send_tty shares the very same advantages and disadvantages of expect_tty.
expect_tty and send_tty work by communicating through a special file called /dev/tty. Expect is one of a few programs that has the power to redirect communications with programs that communicate through /dev/tty. When programs are spawned by Expect, all of their inputs (/dev/tty and unredirected standard input) are merged into a single input to which the send command can write. Similarly, all of their outputs (/dev/tty and any unredirected standard output or standard error) are merged into a single output from which the expect command can read.
Thus, Expect reads and writes from processes with the same view that a real person has. In the same way a person can read all of the unredirected output or write all of the unredirected input, so can Expect. If a human can control a program, then the program can be controlled with Expect also. This is the power of Expect.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access