Matching Any Spawn Id Already Listed
Frequently, different spawn ids may be watched for different patterns as well as a common pattern. For example, suppose you are waiting for pattern X
from hostA
or hostB
, and pattern Y
from hostC
, or pattern Z
from any of the three hosts. You might write:
expect { −i "$hostA $hostB" X −i "$hostC" Y −i "$hostA $hostB $hostC" Z }
The global variable any_spawn_id
contains a predefined value that matches any spawn id named in the current expect
command. It can be used to simplify the previous command to:
expect { −i "$hostA $hostB" X −i "$hostC" Y −i "$any_spawn_id" Z }
any_spawn_id
can be used in a list as well. Suppose, you also want to watch one other process (hostD
) but only for the common pattern Z
. It could be done this way:
expect { −i "$hostA $hostB" X −i "$hostC" Y −i "$any_spawn_id $hostD" Z }
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.