From: Amogh Gonwar Date: 2009-07-25T11:35:32+09:00 Subject: Re: Telnet Ruby Thanks Brian! The problem is that "I might have two possible prompts in response to one command" When I execute the command "go" on Telnet, I can either get the: prompt 1: BDI> (or) prompt 2: - TARGET: stopped \n BDI> When I get prompt 1, I want it to send in the instructions: "re" "ci" "bi 0x000044bc" "go 0" However when i get prompt 2, i want to send in the instructions: "dump 0x003f7670 128 C:/Dump/atl.dat" "go". Based on ur suggestion I modified the code to (also attached): ------------------------------------- class RBDI_test attr_accessor :quiet def initialize(options) @prompt = /- TARGET: stopped \n BDI>|BDI>/ @quiet = options['Quiet'] @quiet = true if @quiet.nil? @connection = Net::Telnet.new({'Host' => options['Host'], 'Prompt' => @prompt}) {|str| print str unless @quiet} # consume the initial display of help @connection.waitfor(@prompt) {|str| print str unless @quiet} end # Send a script of commands to the BDI # If script is a filename, the commands will be read from the file. # The Quiet option specified at creating may be overruled for this script. def send(script, options={'Quiet' => @quiet}) script = File.new(script) if FileTest.file? script begin script.each_line do |command| @connection.cmd(command.strip) do |str| print str unless str.nil? or options['Quiet'] end end rescue Errno::ECONNRESET, Errno::ECONNABORTED puts "Connection closed" unless options['Quiet'] return end end end ------------------------ AND ---------- require 'rbdi_test' bdi = RBDI_test.new({'Host' => 'bdiemul'}) bdi.quiet = false bdi.send("Prompt"=>/BDI>/) <<-LOAD_SCRIPT re ci bi 0x000044bc go 0 LOAD_SCRIPT j = true while j bdi.send("Prompt"=>/- TARGET: stopped \n BDI>/) <<-LOAD_SCRIPT dump 0x003f7670 128 C:Dump/atl.dat go LOAD_SCRIPT end sleep 1 ------------------------- I end up with the error: C:/load565-released/test.rb:18: syntax error, unexpected tINTEGER, expecting kEND dump 0x003f7670 128 C:Dump/atl.dat Amogh. ^ Attachments: http://www.ruby-forum.com/attachment/3903/test.zip -- Posted via http://www.ruby-forum.com/.