如何编辑从期望脚本中删除过多的精确行?

时间:2012-07-01 01:34:06

标签: tcl expect

我已经使用expect创建了一个expect脚本,并且我意识到期望-exact被构造为匹配包含大量不必要输出的行。例如,当我执行postgresql restore命令时,所有psql输出都包含在expect -exact行中。

还可以使用哪些其他语法来修剪expect -exact行?在某些情况下可以删除它们吗?

1 个答案:

答案 0 :(得分:0)

通过观察会话中的活动来生成脚本的工具肯定倾向于认为太重要了。他们根本不明白什么是重要的。通常,摆脱不必要的预期部分的方法是使用文本编辑器删除它们。需要注意的地方是send(或exp_send;有一些变化);在expect之前总是有send 某事是个好主意,但是你需要一些聪明的东西。


稍后,您可能希望编写可以处理多个条件的脚本,以便在expect同时执行多个操作。那是你写这样的东西的时候:

expect {
   "abc" {
      send "foo\r"
   }
   "def" {
      send "bar\r"
   }
}

自动访问应用程序的复杂性比最初看起来要复杂得多,因为应用程序通常 比起初看起来更复杂。