期望:如何将生成的进程的每个输出打印给用户

时间:2011-08-18 10:01:00

标签: tcl expect

我正在尝试编写一个expect脚本,部分命令将作为不同的用户执行。所以我需要生成一个kuu进程,然后在用户提供密码后向它发送命令。但是,如何收集这些命令的输出并将其打印给运行expect脚本的用户?

谢谢

1 个答案:

答案 0 :(得分:2)

这可以通过使用以下内容来完成:

proc outputUntilPrompt {} {   
    global expect_out
    set prompt "ACT:*>*"
    set output ""                

    while 1 {        
        expect {
            -re "(\[^\r]*\)\r\n" {
                append output $expect_out(buffer)
            }
            $prompt {
                append output $expect_out(buffer)
                break
            }
        }
    }
    return $output
}

send_user "$output"