| |||||||||||
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.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |