【问题标题】:Variable expansion in expect script期望脚本中的变量扩展
【发布时间】:2021-10-25 23:51:28
【问题描述】:

希望有人可以帮助在期望脚本中进行此变量扩展。 我在循环中为变量赋值,例如 Ex:

for {set i 1} {$i<=10} {incr i 1} {
 set IO$i [expr {$i + 1}]
}

我可以通过ex一一获取变量值:

send_user "IO1 value is: $IO1"
send_user "IO2 value is: $IO2"
...

有没有办法可以在 for 循环中获取变量值,例如:

send_user "IO$i value is: $XXXXXX ?

谢谢。

【问题讨论】:

  • 我试过几个差异。组合:send_user "IO$i value is: ${IO$i}" , send_user "IO$i value is: ${IO${i}}"
  • 在使用 Expect 之前,您需要学习 tcl 语言。

标签: variables expect script expansion


【解决方案1】:

您可以使用set 命令获取值以及设置它们

send_user "IO$i value is: [set IO$i]"
# ........................^^^^^^^^^^

但是使用数组而不是动态创建的变量会更方便

for {set i 1} {$i<=10} {incr i 1} {
 set IO($i) [expr {$i + 1}]
}
send_user "IO($i) value is: $IO($i)"

【讨论】:

  • 太棒了。我尝试了您提到的两种方法,并且都有效。非常感谢杰克曼先生...
猜你喜欢
  • 1970-01-01
  • 2012-03-17
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2016-01-17
  • 1970-01-01
相关资源
最近更新 更多