如何将 expect_out(buffer) 中的一行存储到 tcl 中的变量
How to store a line from expect_out(buffer) to a variable in tcl
例如,如果输出(在 expect_out(buffer)
中)是
blah
blh blah
asdjsudfsdf
如何将第二行存储到变量中?到目前为止我有这个:
foreach line [split $expect_out(buffer) "\n"] {
if [lindex $line 1] {
set variable $line
}
}
但这不起作用,它说变量variable
未定义。我尝试添加一个计数器,但这也没有用。必须有更简单的方法!
是的,有一个更简单的方法:
set lines [split $expect_out(buffer) \n]
set variable [lindex $lines 1]
或一行
set variable [lindex [split $expect_out(buffer) \n] 1]
请注意,您知道 Tcl 命令是什么 return:split
return 是一个列表。然后使用 lindex
查找列表的第二个元素。
例如,如果输出(在 expect_out(buffer)
中)是
blah
blh blah
asdjsudfsdf
如何将第二行存储到变量中?到目前为止我有这个:
foreach line [split $expect_out(buffer) "\n"] {
if [lindex $line 1] {
set variable $line
}
}
但这不起作用,它说变量variable
未定义。我尝试添加一个计数器,但这也没有用。必须有更简单的方法!
是的,有一个更简单的方法:
set lines [split $expect_out(buffer) \n]
set variable [lindex $lines 1]
或一行
set variable [lindex [split $expect_out(buffer) \n] 1]
请注意,您知道 Tcl 命令是什么 return:split
return 是一个列表。然后使用 lindex
查找列表的第二个元素。