我正在使用简单的期望脚本,它等待“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行)“
答案 0 :(得分:4)
调试期望脚本时,将exp_internal 1
放在脚本的顶部。
在期待时,您应该期待\n
而不是\r
查看expect_out中的内容,使用这个方便的Tcl命令:parray expect_out