如何在expect中显示expect_out(buffer)的内容

时间:2012-04-16 09:54:35

标签: expect

我正在使用简单的期望脚本,它等待“hi”并在缓冲区中显示内容。该脚本无法打印脚本的内容。我已经尝试了所有4种不同的方式(被注释的方式)来显示expect_out(缓冲区)。在以下脚本中建议任何更改/修改

#!/bin/sh
#!/usr/bin/expect

expect "hi\r"

#puts "$expect_out(buffer)"
#send_user "$expect_out(buffer)\n"
#send "you typed <$expect_out(buffer)\r>"
#send "but I only expected <$expect_out(buffer)\r>"

以下错误提示“无法读取”expect_out(0,string)“:没有这样的变量     执行时 “puts”$ expect_out(0,string)“”     (档案“./oreilly.exp”第7行)“

1 个答案:

答案 0 :(得分:4)

调试期望脚本时,将exp_internal 1放在脚本的顶部。

在期待时,您应该期待\n而不是\r

查看expect_out中的内容,使用这个方便的Tcl命令:parray expect_out