-1

我试图弄清楚如何在期望中解析命令的输出,然后将它返回的内容设置为变量。基本上我有一个看起来像列表 IE 的命令输出:

OneA
OneB
OneB
TwoA
TwoB
TwoC
ThreeA
ThreeB
ThreeC

基本上我需要它来查找所有以 One 开头的值,然后对每个实例运行另一个命令。像
stat OneA 并打印输出,
然后是 Stat OneB
,然后是 Stat OneC ......
希望这是有道理的。

谢谢

戴夫

4

1 回答 1

1

使用 shell 管道可能更容易:

send -- "yourCommand | grep '^One' | xargs -L 1 stat\r"

在预期中,这将是这样的:

send -- "yourCommand\r"
expect -re $thePrompt
foreach line [split $expect_out(buffer) \n] {
    if {[string match {One*} $line]} {
        send -- "stat $line\r"
        expect -re $thePrompt
    }
}
于 2012-10-20T14:27:29.183 回答