【发布时间】:2013-05-29 15:44:41
【问题描述】:
我有以下脚本,
#!/usr/bin/perl
use strict;
use warnings;
use Net::SSH::Perl;
use Expect;
my $logs = "logs";
open(LOG,'>>',"$logs") or die "can't logs $!\n";
my $domain = 'domain.com';
my @host = qw/host/;
foreach my $host (@host) {
my $cmd = "passwd user1";
my $sshost = join('.', $host, $domain);
my $ssh = Net::SSH::Perl->new("$sshost");
$ssh->login('root');
$ssh->debug();
my ($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print LOG $stdout,"\n";
}
现在我的问题是在执行$cmd 之后我不知道如何使用Expect 发送密码,是时候输入密码了。 $stdin 在这种情况下不起作用,因为我们使用的是 HPUX。
感谢任何指导和示例,阅读 Expect 文档对我没有任何帮助。
【问题讨论】: