Tcl 关于expect中的expect\u out(缓冲区)
有人能解释这两者的区别吗Tcl 关于expect中的expect\u out(缓冲区),tcl,expect,Tcl,Expect,有人能解释这两者的区别吗 expect_out(buffer) expect_out(0,string) 通常我更喜欢使用expect\u out(缓冲区) 第二个是什么?我们什么时候可以使用它 谁能解释一下吗?您可能想看看: 我会引述有关部分: 匹配模式(或eof或完整缓冲区)后,任何匹配和以前不匹配的输出都保存在变量expect\u out(缓冲区)中。变量expect\u out(1,字符串)到expect\u out(9,字符串)中最多保存9个regexp子字符串匹配项。如果在模式之
expect_out(buffer)
expect_out(0,string)
通常我更喜欢使用expect\u out(缓冲区)
第二个是什么?我们什么时候可以使用它
谁能解释一下吗?您可能想看看: 我会引述有关部分: 匹配模式(或eof或完整缓冲区)后,任何匹配和以前不匹配的输出都保存在变量
expect\u out(缓冲区)
中。变量expect\u out(1,字符串)
到expect\u out(9,字符串)
中最多保存9个regexp子字符串匹配项。如果在模式之前使用了-index
标志,则10个字符串的起始和结束索引(以适合lrange
的形式)存储在变量expect\u out(X,start)
和expect\u out(X,end)
中,X是一个数字,对应于缓冲区中的子字符串位置。0引用与整个模式匹配的字符串,该字符串是为glob模式以及regexp模式生成的。例如,如果一个进程产生了“abcdefgh\n”
的输出,则以下结果:
expect "cd"
expect -indices -re "b(b*).*(k+)"
就好像执行了以下语句:
set expect_out(0,string) cd
set expect_out(buffer) abcd
set expect_out(0,start) 1
set expect_out(0,end) 10
set expect_out(0,string) bbbcabkkkk
set expect_out(1,start) 2
set expect_out(1,end) 3
set expect_out(1,string) bb
set expect_out(2,start) 10
set expect_out(2,end) 10
set expect_out(2,string) k
set expect_out(buffer) abbbcabkkkk
将预期输出(0,开始)设置为1
将预期输出(0,结束)设置为10
设置expect_out(0,字符串)bbbcabkkk
设置期望输出(1,开始)2
设置期望值(1,结束)3
设置expect_out(1,字符串)bb
设置期望值(2,开始)10
设置期望值(2,结束)10
设置expect_out(2,字符串)k
设置expect_out(缓冲区)abbbcabkk
您可以看到expect\u out(0,字符串)
和expect\u out(缓冲区)
如何包含不同的字符串