Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

To use Shell method on Active Perl

by radici (Initiate)
on Sep 10, 2008 at 14:29 UTC ( [id://710372]=note: print w/replies, xml ) Need Help??


in reply to Re: A little demo for Net::SSH2
in thread A little demo for Net::SSH2

To use Shell method on Active Perl on windows use:

#!/usr/bin/perl
use warnings;
use strict;
use NET::SSH2;

my $host = ""; # use the ip host to connect
my $user = ""; # your account
my $pass = ""; # your password

my ($len, $buf);

my $ssh2 = Net::SSH2->new();
#$ssh2->debug(1);
if ($ssh2->connect($host)) {
if ($ssh2->auth_password($user,$pass)) {
#shell use
my $chan = $ssh2->channel();
$chan->shell();

$chan->write("ls -a\n");
select(undef,undef,undef,0.2);
print $buf while ($len = $chan->read($buf,512)) > 0;

$chan->write("who\n");
select(undef,undef,undef,0.2);
print $buf while ($len = $chan->read($buf,512)) > 0;
#$chan->send_eof();
$chan->close;
} else {
warn "auth failed.\n";
}
} else {
warn "Unable to connect Host $@ \n";
}

Replies are listed 'Best First'.
Re: To use Shell method on Active Perl
by mvrk (Initiate) on Feb 09, 2009 at 19:20 UTC
    is it possible to poll the shell for timeouts just like this example:
    $chan->exec("ls -l"); my $poll = { handle => $chan, events => -1 }; while ($ssh2->poll(500, [ $poll ])) { if ($poll->{revents}{out}) { while (<$chan>) { $r=$r.$_; } } if ($poll->{revents}{channel_closed} || $poll->{revent +s}{listener_closed}) { my $exit = $chan->exit_status(); print $r; } } print "timeout\n";
    This works fine for $chan->exec(..), but i need shell to execute more than one command, can someone help me with some code to poll the shell writes and reads for timeouts???

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://710372]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (5)
As of 2024-03-29 11:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found