在 linux 中读取预期文件中的输出
Read the output in an expect file in linux
我正在尝试读取命令的输出并将其设置在变量中,然后像文本一样发送到文件:
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
我尝试了不同的方法,但我发现似乎没有任何效果。我在这里错过了什么?
在您调用 expect
之前,变量 $expect_out(buffer)
不会更新。所以像这样尝试:
expect "~]#" { send "readlink some/link\r" }
expect "~]#" { set CCM_BUILD $expect_out(buffer) }
我正在尝试读取命令的输出并将其设置在变量中,然后像文本一样发送到文件:
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
我尝试了不同的方法,但我发现似乎没有任何效果。我在这里错过了什么?
在您调用 expect
之前,变量 $expect_out(buffer)
不会更新。所以像这样尝试:
expect "~]#" { send "readlink some/link\r" }
expect "~]#" { set CCM_BUILD $expect_out(buffer) }