2

我正在使用简单的期望脚本,它等待“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>"

提示如下错误“ can't read "expect_out(0,string)": no such variable while execution "puts "$expect_out(0,string)"" (file "./oreilly.exp" line 7)"

4

1 回答 1

4

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

\n期待的时候,你不应该期待\r

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

于 2012-04-16T14:21:53.430 回答