Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
This week, we're updating our course layouts and descriptions. Presentation and materials always gently change over time, but just occasionally there's a need to make a step change to clear out some of the old and roll in the new. That's now happening - but over a long and complex site it's not instant and you'll see sections of the site changing up to and including 19th September.

See also [here] for status update
 
problem with if structure

Posted by priyadharshini (priyadharshini), 18 June 2008
Hi,
      I wrote an Expect script to send commands to a host at specified port. I worked fine. now i included one simple if structure with its proper syntax. It gives
"missing close-brace" error.

the proc:

proc sendcommand {host port command } {
# global host_connection
 global telnet_id
 global RTR1ConsoleIp
 global RTR1ConsolePort
 global RTR2ConsoleIp
 global RTR2ConsolePort
 global RTR3ConsoleIp
 global RTR3ConsolePort
 global prompt

## This is the newly inserted if structure ==>
   if {$command == "end" } { set command "^Z" }
## <== ends here

   if {$telnet_id($host,$port) == ""} {
           puts "sendcommand:$host is not connected at port $port"
   } else {
            exp_send -i $telnet_id($host,$port) -- "$command\r\n"
            expect -i re $prompt
         }
    expect i -re {.*} {}
    expect -i [gettelnetid $host $port] timeout {puts "test:timeout on prompt"} -re $prompt {
    showshelloutput $expect_out(buffer)
    return $expect_out(buffer)
}
}

someone kindly point the mistake i made here,

Thank you

Posted by admin (Graham Ellis), 20 June 2008
Nothing obviously wrong, and the "if" you point at worked correctly when I cut and pasted it and ran it ...

Ahwt values are in your variables?   is ^Z really ^Z or just the way you have represented some sort of control code in your post, considering the question you are asking in another thread?

Posted by priyadharshini (priyadharshini), 20 June 2008
HI,

     Thanks for ur quick reply. 'm writitng scripts to send commands to routers of different vendors. Inside routers I used "end" command to reach the global mode from any mode. Some router types are not accepting "end" command. But all are accepting  "^z".  So 'm trying to send  "^z" instead of "end"

Thank you,



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho