在linux中的expect文件中读取输出

时间:2017-02-27 16:18:27

标签: linux linux-kernel tcl expect

我正在尝试读取命令的输出并将其设置在变量中,然后像文本一样发送到文件中:

expect "~]#" { send "readlink some/link\r" }
set CCM_BUILD $expect_out(buffer)
send_log "CCM: $CCM_BUILD"

但我在文件中得到的是:

can't read "expect_out(buffer)": no such variable
    while executing
"set CCM_BUILD $expect_out(buffer)"
    (file "../common/get_build.exp" line 20)^M

我尝试过不同的东西我发现似乎没什么用。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

在您致电$expect_out(buffer)之前,不会更新var expect。所以试试这样:

expect "~]#" { send "readlink some/link\r" }
expect "~]#" { set CCM_BUILD $expect_out(buffer) }