【问题标题】:tcl expect scopetcl 期望范围
【发布时间】:2012-11-10 08:28:44
【问题描述】:

if 下的以下设置似乎由于 if 块作用域而没有生效:

 16 if {[string compare "$DEBUG" "ON"]!=0} {
 17     exp_internal 1
 18 }
 19 Rest of code that want the debug to be ON.

有没有办法使设置全局化,因为其余代码都依赖于它。

谢谢。

【问题讨论】:

  • 我对你的逻辑感到困惑:你的意思是说如果调试== ON 然后打开冗长?
  • 尝试使用eq 运算符或string equals 命令以获得更清晰...
  • 正如所写,逻辑似乎颠倒了,当 $DEBUG 不是“ON”时,您将打开 Expect 的诊断。尝试if {$DEBUG eq "ON"} { ...etc... 如果这不起作用,请尝试将puts "DEBUG=$DEBUG" 放在前面,以检查DEBUG 是否具有您认为的值。

标签: tcl expect


【解决方案1】:
if { "$DEBUG" == "ON" } {
    exp_internal 1
}

处理全局设置,您可能希望将 -d 选项传递给期望二进制文件。根据手册页:

这个标志和Expect脚本开头的“exp_internal 1”效果一样,加上打印Expect的版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2012-06-23
    • 2012-04-29
    • 2012-09-01
    • 1970-01-01
    • 2014-02-19
    相关资源
    最近更新 更多