[Trilug-ontopic] YAEQ (yet another Expect question)
gwbrown1 at gmail.com
Wed Jan 20 14:35:25 EST 2010
First and foremost, I need to get this script finished and I don't have time
to learn Python but it's on the to-do list.
Ok, that said I'm ssh'ing to a remote server (an IDS sensor, really) and I'm
trying to read back prompts. Trouble is when you run a setup command the
prompt is going to change each time. Here's an example of what I'm dealing
$ssh = Expect->spawn("ssh -l greg myserver");
# wait for the prompt
my($which, $why, $match, $before, $after) = $ssh->expect(30,"assword:)";
# send the password
print $ssh "myPassword\r";
# now here's where we run into problems, the prompt is going to change
dynamically and there is no way I can change that
my($which, $why, $match, $before, $after) = $ssh->expect(30,":");
And there is where I run into problems.. the prompt for each system I ssh to
will change dynamically and I want to capture the entire prompt but the
$match variable only catches what it matches, not the entire line so $match
would equal ":" not "gregtest(192.168.15.99):" and I want to be able to
capture that IP address.
What I can't seem to get working is a way to put a regular expression inside
what I want to match, i.e. I can't seem to say:
my($which, $why, $match, $before, $after) = $ssh->expect(30,"greg*:");
That doesn't work.
Any ideas? I'd really like to get this working.
Back to google.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Trilug-ontopic