【发布时间】:2016-08-02 06:42:08
【问题描述】:
我有一个期望脚本,用户提示是 ">" 。我创建了我的脚本,期望“>”发送下一个命令,但不幸的是,“>”也作为接收到的上一个发送命令的输出的一部分出现,从而导致我的脚本发送下一个命令,我应该如何控制何时">" 作为提示出现,何时作为输出的一部分?
【问题讨论】:
-
>总是在开头?您可以使用锚点 (^) 或环视,但请提供一些真实的输入字符串。 -
E.g) 一旦我们登录,我们就会得到一些 lyk this :- user@xyz> 前面的命令输出是这样的:- ############### ################################################## ######################### >>>>> STARTED (pid) >>>>>" 位于行首跨度>
-
尝试使用
\M>(注意可能需要加倍的反斜杠)。甚至\M>\s. -
或更准确地说:
^[^>]*\M>\s或^[^\s>]*\M>\s -
如果我发送一个 cmd,expect 将在前一个 cmd 的输出中检测到模式(就像它出现在终端上一样),或者会在发送的命令完成执行后读取出现的模式并且我们收到了提示?