我希望看看是否有一种简单的方法来确定期望响应中是否有一个加载变量,类似于下面的响应。 (注意$ sb已被切换)
expect {
"some text\rsome text = $sb\rsome text = $sb\r# " {
id $sb
version
id $sb
thermometer $eFile
finish $eFile
}
"some text\rsome text = $sb\r# " {
id $sb
update
enum 2 $sb $eFile
}
}
正如您可能想象的那样,这只是脚本的一部分,if中的所有调用都是proc。我希望能够有类似的东西,而不是手动创建足够的响应来处理响应的变体。结果与此类似,只是更长,更难以跟踪:
expect {
"some text\rsome text = 2\rsome text = 2\r# " {
if { $sb == 2 } {
id $sb
version
id $sb
thermometer $eFile
finish $eFile
} else {
assign $sb $eFile
enum 1 $sb $eFile
}
}
"some text\rsome text = 3\r# " {
if { $sb == 3 } {
id $sb
update
enum 2 $sb $eFile
} else {
assign $sb $eFile
enum 1 $sb $eFile
}
}
}
'some text'响应是相同的,所以至少可以通过修剪来过滤。我已经掌握了大部分内容,但如果可以的话,我想避免使用它。此外,对于2/3显示,它们可以切换,因此具有2个变量的响应可以具有3,具有1个变量的响应也可以具有2,因此显然这可以快速地变大。