【发布时间】:2013-08-26 20:30:36
【问题描述】:
我的 .bat 文件位于 windows 中,我想通过 ssh 从 Linux 调用它。我已经在 Windows 中安装了 cygwin,并且可以通过 ssh 连接到机器。我想编写一个 Perl 脚本来连接到 windows 服务器并执行 .bat 文件。
【问题讨论】:
我的 .bat 文件位于 windows 中,我想通过 ssh 从 Linux 调用它。我已经在 Windows 中安装了 cygwin,并且可以通过 ssh 连接到机器。我想编写一个 Perl 脚本来连接到 windows 服务器并执行 .bat 文件。
【问题讨论】:
这种任务的方法是Net::SSH
例如。 :
use Net::SSH qw(ssh issh sshopen2 sshopen3);
ssh('user@hostname', $command);
issh('user@hostname', $command);
ssh_cmd('user@hostname', $command);
ssh_cmd( {
user => 'user',
host => 'host.name',
command => 'command',
args => [ '-arg1', '-arg2' ],
stdin_string => "string\n",
} );
sshopen2('user@hostname', $reader, $writer, $command);
sshopen3('user@hostname', $writer, $reader, $error, $command);
【讨论】:
使用以下任何一种:
例如:
use Net::SSH::Any;
my $ssh = Net::SSH::Any->new($host, user => $user, password => $password);
my @output = $ssh->capture('c:\foo.bat');
【讨论】: