Which Spawn Id Matched
The expect
command always sets expect_out(spawn_id)
to the spawn id associated with the matching output. This allows a single action parameterized on its spawn id to be shared between a number of spawn ids. For efficiency reasons, the interact
command does not automatically do a similar assignment. Instead, the -iwrite
flag controls whether the spawn id is recorded, in this case, to interact_out(spawn_id)
.
The -iwrite
flag should appear before each pattern to which it applies. For example, in the following fragment, action1
and action3
can access the value of interact_out(spawn_id)
but action2
cannot.
interact { -input "$user_spawn_id $userin" -iwrite "foo" {action1} "bar" {action2} -iwrite "baz" {action3} }
See Chapter 11 (p. 249) for more examples of the spawn_id
element.
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.