expect:将 spawn 命令的输出存储到变量中

expect: store output of a spawn command into variable

在我的 "expect" 脚本中:

set $REPOS "/path/to/repo/"
set $REV 73
set LOG [spawn svnlook log -r $REV $REPOS]

这将存储在变量"LOG"中的内容:16345(内存位置)。

它应该存储在变量 "LOG" 中的内容:"some message of the svn commit log"。

执行 bash 命令然后将该输出存储到 expect 变量似乎是一个问题。

你有什么想法吗?我是新手期待和tcl。

你不需要在那里生成。尝试:

set LOG [exec svnlook log -r $REV $REPOS]

如果你真的想使用spawn:

spawn vnlook log -r $REV $REPOS
expect
set LOG $expect_out(buffer)