Posted to tcl by pocketprotector at Wed Mar 21 18:18:24 GMT 2018view pretty
I am embedding an expect script in a bash script, thats why you see Bash variables. Basically, whats happening is that the head of the output returned from my command is being truncated. if i run "ls /var/log" for example, its never cut off at the same place twice. I would really truly appreciate any input on how to fix this. I tried adding the match_max, but that doesnt seem to have any effect. match_max 9000 set expect_out(buffer) {} expect { "*#\ " { if {${VERBOSE} == 1} { puts "${server}: verbose: Received output, parsing" } set buffer [ split \$expect_out(buffer) '\n' ] foreach line \$buffer { switch -glob -- \$line { "bash*#\ " { continue } "*root*#\ " { continue } {${COMMAND}} { continue } default {puts "${server}: \$line" } } } if {${VERBOSE} == 1} { puts "${server}: verbose: closing session" } exit 0 } timeout { puts "${server}: error: pbrun: timeout while waiting for command output" exit 1 } }