my @commands = @ARGV;
@commands = <DATA> unless @commands;
-warn "## $ip\n";
+warn "\n## ssh $ip\n";
my $ssh = Net::OpenSSH->new($ip, user => $login, passwd => $passwd);
my ($pty ,$pid) = $ssh->open2pty();
if ( ! $pty ) {
} elsif ( $buff =~ m/Password:/ ) {
send_pty "$passwd\n";
$buff = '';
- } elsif ( $buff =~ m/\b([\w\-]+)>$/ ) {
- send_pty "enable\n";
} elsif ( $buff =~ m/([\w\-]+)#$/ ) {
my $hostname = $1;
if ( $buff ) {
}
} elsif ( $buff =~ m/% Unrecognized command/ ) {
exit 1;
- } elsif ( $buff =~ s{More: <space>, Quit: q.*One line: <return> }{} ) {
- sleep 0.5;
+ } elsif ( $buff =~ s{More: <space>, Quit: q.*One line: <return>\s*}{} ) {
send_pty " ";
} elsif ( $buff =~ s{\Q--More-- or (q)uit\E}{} ) {
- send_pty " "
- } elsif ( $buff =~ s{\e\[0m\r\s+\r}{} ) {
+ send_pty " ";
+ } elsif ( $buff =~ s{\e\[0m\s*\r\s+\r}{} ) {
+ # nop
+ } elsif ( $buff =~ m/^[\r\n]+[\w\-]+>$/ ) {
+ send_pty "enable\n";
}
}