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;
}
]
);