in reply to Re^5: Correct way to use Net:SSH2 module
in thread Correct way to use Net:SSH2 module

Oh yes, I meant GrandFather's code. I guess the answer is that shell is for humans and programming against it will always be flawed. The number of ways it can fail is quite extensive, eg differences between OSes, differences between versions of the same OS, path not setup correctly, different environment settings etc. With regards to the code being flawed I was wondering the same thing. Basically the only thing stopping it locking up is that the channel is closed.
  • Comment on Re^6: Correct way to use Net:SSH2 module

Replies are listed 'Best First'.
Re^7: Correct way to use Net:SSH2 module
by salva (Canon) on Mar 26, 2013 at 09:14 UTC
    Not necessarily, nowadays all UNIX systems follow the POSIX standard so it is possible to write fairly portable shell code. Network equipment (switches, routers, etc.) exposing custom shells, often on top of crippled SSH implementations are another matter.

    In any case, what it is unreliable is talking (via stdio) to a shell running in interactive mode. Using the SSH capability to launch individual commands on the remote host, creating a new channel for every command, is quite reliable.