First and foremost, I need to get this script finished and I don&#39;t have time to learn Python but it&#39;s on the to-do list.<div><br></div><div>Ok, that said I&#39;m ssh&#39;ing to a remote server (an IDS sensor, really) and I&#39;m trying to read back prompts.  Trouble is when you run a setup command the prompt is going to change each time.  Here&#39;s an example of what I&#39;m dealing with:</div>
<div><br></div><div>#!/usr/bin/perl</div><div><br></div><div>use Expect;</div><div><br></div><div>$ssh = Expect-&gt;spawn(&quot;ssh -l greg myserver&quot;);</div><div><br></div><div># wait for the prompt</div><div>my($which, $why, $match, $before, $after) = $ssh-&gt;expect(30,&quot;assword:)&quot;;</div>
<div><br></div><div># send the password</div><div>print $ssh &quot;myPassword\r&quot;;</div><div><br></div><div># now here&#39;s where we run into problems, the prompt is going to change dynamically and there is no way I can change that</div>
<div>my($which, $why, $match, $before, $after) = $ssh-&gt;expect(30,&quot;:&quot;);</div><div><br></div><div>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 &quot;:&quot; not &quot;gregtest(192.168.15.99):&quot; and I want to be able to capture that IP address.</div>
<div><br></div><div>What I can&#39;t seem to get working is a way to put a regular expression inside what I want to match, i.e. I can&#39;t seem to say:</div><div><br></div><div>my($which, $why, $match, $before, $after) = $ssh-&gt;expect(30,&quot;greg*:&quot;);</div>
<div><br></div><div>That doesn&#39;t work.</div><div><br></div><div>Any ideas?  I&#39;d really like to get this working.</div><div><br></div><div>Back to <a href="http://google.com">google.com</a></div>