Do-while in Expect script

2020-03-25 08:28发布

问题:

I wrote the below code and try to execute it. But i face the "invalid command name "do" while executing do {"

code:

#!/usr/bin/expect
set val 0;
set input 5;

do {
    puts "\nval = $val"
    set input [expr $input-1];
    set val [expr $val+1];
} while {input}

Please let me know to fix this issue. Does do-while exist in Expect script?

回答1:

The short answer is no.

The slightly longer answer is:

while true {
    puts "\nval = $val"
    incr val
    if {[incr input -1] == 0} break
}

The full discussion can be found on the Tcl wiki.



标签: expect