Expect Script的重复输出

时间:2015-04-27 21:43:46

标签: linux bash ssh expect

我有一个期望脚本A到ssh在主机A上运行,远程到主机B,在主机B上运行bash脚本B,然后将脚本B的输出追加到主机A上的文件中。运行这个期望脚本之后,附加内容正是我想要的,但重复。例如,如果期望的输出是" abc",我得到" abcabc"。重复的运行时间戳与原始运行时间戳相同。

请参阅以下预期脚本:

{{1}}

我的假设是expect_out(缓冲区)有2x out和第2个expect -re匹配输出两次。我尝试使用未设置的expect_out(缓冲区)失败。我也使用if-statement的第二个期望-re和puts语句的定位无效。我很抱歉,如果修复很简单,但在论坛上花了很多时间寻找它。任何想法都赞赏。

此致

艾伦

1 个答案:

答案 0 :(得分:0)

修复重复问题;请参阅下面的更新代码:

期待{-re“(?s) - {30} \ r \ n(。*?) - {30}”

{puts $expect_out(0,string) }

}