如何在期望中保存变量中的预期响应 [英] how to save the expected response in a variable in expect
本文介绍了如何在期望中保存变量中的预期响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的下面的脚本有效,但试图让它变得更聪明。我想要它做的是解析响应,例如AR1_6在执行.AR1_6中并将其作为变量发送到proc send_packet_from_bsd而不是每个响应都有一个案例。
My script below works but trying to make it smarter. What I'd like for it to do is to parse the response, such as, AR1_6 in "execute . AR1_6" and send that as variable in proc send_packet_from_bsd instead of having a case for every response.
while { [gets $tests_to_run TEST] >= 0 } {
set test_done 0
send "t $TEST\r"
sleep 2
while { $test_done == 0 } {
expect {
"execute . AR1_6" { send_packet_from_bsd "AR1_6" }
#"execute . AR1_16" { send_packet_from_bsd "AR1_16" }
#"execute . AR1_14" { send_packet_from_bsd "AR1_14" }
#"execute . AR1_1" { send_packet_from_bsd "AR1_1" }
"Test \* Complete" { set test_done 1 }
}
}
}
推荐答案
tests_to_run TEST]> = 0 } {
set test_done 0
发送 t
tests_to_run TEST] >= 0 } { set test_done 0 send "t
TEST\
sleep < span class =code-digit> 2
while {
TEST\r" sleep 2 while {
test_done == 0 } {
expect {
执行。 AR1_6 {send_packet_from_bsd AR1_6}
# 执行。 AR1_16 {send_packet_from_bsd AR1_16}
# 执行。 AR1_14 {send_packet_from_bsd AR1_14}
# 执行。 AR1_1 {send_packet_from_bsd AR1_1}
测试\ *完成 {set test_done 1 }
}
}
}
test_done == 0 } { expect { "execute . AR1_6" { send_packet_from_bsd "AR1_6" } #"execute . AR1_16" { send_packet_from_bsd "AR1_16" } #"execute . AR1_14" { send_packet_from_bsd "AR1_14" } #"execute . AR1_1" { send_packet_from_bsd "AR1_1" } "Test \* Complete" { set test_done 1 } } } }
这篇关于如何在期望中保存变量中的预期响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文