【发布时间】:2021-07-14 07:57:23
【问题描述】:
使用语言:TCL/Expect
当我打印 expect_out(buffer) 的输出时,出于某种原因,它会删除整个打印行。我不知道这是做什么的。我什至用 -nonewline 分解了“puts”输出,以确保这一行的输出也消失了。
代码:
set var $expect_out(0,string)
foreach line [split $var \n] {
puts -nonewline "line: "
puts $line
}
输出:
somedata
line: somemoredata
line: evensomemoredata
预期输出:
line: somedata
line: somemoredata
line: evensomemoredata
什么会导致这个输出?我该如何解决这个问题?
*回答后编辑:
为了帮助 Expect 中的其他人解决此问题,在您的 expect 脚本中添加以下命令以进行故障排除会有所帮助:
exp_internal 1
这显示了正在发生的一切,包括缓冲区中返回的值。
【问题讨论】:
-
可能“somedata”包含回车 (\r) 字符。