Expect 脚本非常适合编写测试,这些测试基本上是“确保运行此命令会导致打印这些日志”。Expect 可让您跳过不相关的输出并查找日志中的特定行。
有没有办法确保我们不遇到某条信息?
例如,一个简单的 Expect 脚本可能如下所示:
spawn ./my_launcher.sh
expect "System booted."
有什么办法可以确保我们不在“系统启动。”行出现之前获取某个字符串?
用假想语法来传达我的目标:
spawn ./my_launcher.sh
expect-not "license activation error"
expect "System booted."
答案1
您可以期待多种情况:
expect {
"license activation error" {
... mark that this happened ...
}
"System booted" {
... check if the above error didn't happen and do something ...
}
}