NAME

Rex::Helper::SSH2::Expect - An Expect like module for Net::SSH2

DESCRIPTION

This is a module to have expect like features for Net::SSH2. This is the first version of this module. Please report bugs at GitHub https://github.com/krimdomu/net-ssh2-expect

DEPENDENCIES

SYNOPSIS

use Rex::Helper::SSH2::Expect;
      
my $exp = Rex::Helper::SSH2::Expect->new($ssh2);
$exp->spawn("passwd");
$exp->expect($timeout, [
                          qr/Enter new UNIX password:/ => sub {
                                                             my ($exp, $line) = @_;
                                                             $exp->send($new_password);
                                                          }
                       ],
                       [
                          qr/Retype new UNIX password:/ => sub {
                                                             my ($exp, $line) = @_;
                                                             $exp->send($new_password);
                                                          }
                       ],
                       [
                          qr/passwd: password updated successfully/ => sub {
                                                                          my ($exp, $line) = @_;
                                                                          $exp->hard_close;
                                                                       }
                       ]);

CLASS METHODS

new($ssh2)

Constructor: You need to parse an connected Net::SSH2 Object.

log_stdout(0|1)

Log on STDOUT.

log_file($file)

Log everything to a file. $file can be a filename, a filehandle or a subRef.

spawn($command, @parameters)

Spawn $command with @parameters as parameters.

soft_close()

Currently only an alias to hard_close();

hard_close();

Stops the execution of the process.

expect($timeout, @match_patters)

This method controls the execution of your process.

send($string)

Send a string to the running command.