Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Net::SSH2 related query

by keszler (Priest)
on Nov 19, 2013 at 14:21 UTC ( #1063338=note: print w/ replies, xml ) Need Help??

in reply to Net::SSH2 related query

... print $chan "ls\n"; my @response = (readline $chan);

Comment on Re: Net::SSH2 related query
Download Code
Replies are listed 'Best First'.
Re^2: Net::SSH2 related query
by nithins (Sexton) on Nov 20, 2013 at 06:26 UTC

    I used your code , but the print statement didn't print results of "ls command". however when i run the script in debugg mode i found "@respose" having results of "ls"

      Just tried again to reproduce your error. First, I am getting the same result (nothing read), if I set the timeout in the select-function too low, say
      #select(undef,undef,undef,0.2); select(undef,undef,undef,0.001);
      Maybe You should try a higher one?

      Second, it seems, that readline (or <>) is always able to read from the channel (no select necessary). The below code works for me. For you too?

      my $chan = $ssh->channel() or die "create channel:$!\n"; $chan->shell() or die("open shell: $!\n"); $chan->blocking(0); $chan->write("ls\n") or die("write to channel: $!\n"); while ( <$chan> + ) { print $_; }

      In print $chan "ls\n";, $chan is like a filehandle (open FH, '>', 'file.txt'; print FH "something\n";). The print command sends the characters over the SSH connection to the shell on the other end.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2015-11-29 04:39 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (746 votes), past polls