深入探索 Expect 交互与进程控制
1. 基本输入输出交互
最初的输入是隐式的,即user_spawn_id。用户的按键操作会发送到out,而从in接收到的输入会被发送回user_spawn_id,这样用户就能读取到这些输入。外部进程可以是 C 程序,也可以是另一个带有自身interact的 Expect 脚本。例如,第二个脚本可以使用以下命令将一个派生进程连接到命名管道(fifos):
interact -u $proc -output $out -input $in这个命令与之前的interact命令非常相似,只是通过-u标志用派生进程替代了用户。派生进程将成为in输入的隐式输出。
在dislocate脚本中会出现上述两个命令。用户端的interact命令使用一种模式为用户提供一个转义字符,以下代码片段在调用interact时带有一个转义字符,并在前面给出解释信息:
puts "Escape sequence is $escape" interact { -reset $escape escape -output $ou