リモートサーバーにコマンドを送信する必要があるアプリケーションに取り組んでいます。多数のSSHクライアントライブラリを使用すると、コマンドの送信は非常に簡単です。
ただし、各コマンド間でシェルの状態(つまり、現在の作業ディレクトリ、環境変数など)を保持したいと思います。私が見たすべてのクライアントライブラリはこれを行いません。たとえば、以下は私が望むことを行わないコードの例です:
use Net::SSH::Perl;
my $server = Net::SSH::Perl->new($host);
$server->login($user, $pass);
$server->cmd('cd /var');
$server->cmd('pwd'); # I _would like_ this to output /var
コマンドの送信の間に他のタスクが実行されるため、のようなコマンドを組み合わせること$server->cmd('cd /var; pwd')
はできません。