cmastays has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks
I am writing a perl script using Expect.pm to ssh into a system and run a whole bunch of linux commands to automatically install our application.
I want to execute next step only if the previous step returns the appropriate match for the shell prompt
I am stuck with a regular expression match for the shell prompt-
This is what i have so far. and I am stuck at the last step since it is not matching it.
Am i taking the right approach and also can u please let me know what i have goofed up here to match
root@ ~#
$exp->expect($timeout, [ qr'login: $', sub { $spawn_ok = 1; my $fh = shift; $fh->send("$sshUsername\n"); exp_continue; } ], [ 'password: $', sub { my $fh = shift; print $fh "$sshPWD\n"; exp_continue; } ], # I need your help here [ qr'/[root@]$/' => sub { my $fh = shift; print " +regular exp matched \n"; $fh->send("cd /u0x/tmp\n"); exp_continue; } ] );
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: regular expression matching in expect
by aitap (Curate) on Aug 06, 2012 at 18:30 UTC | |
by cmastays (Initiate) on Aug 09, 2012 at 19:04 UTC | |
by zengargoyle (Deacon) on Aug 10, 2012 at 11:31 UTC | |
by aitap (Curate) on Aug 09, 2012 at 20:27 UTC | |
by cmastays (Initiate) on Aug 09, 2012 at 23:05 UTC | |
by aitap (Curate) on Aug 10, 2012 at 07:26 UTC | |
Re: regular expression matching in expect
by hbm (Hermit) on Aug 10, 2012 at 00:45 UTC |
Back to
Seekers of Perl Wisdom