Hallo Zusammen,
zur Konfiguration eines embedded Geräts brauche ich ein Skript um mich an diesem per SSH anzumelden und Kommandos auszuführen. Dummerweise handelt es sich um eine nicht ganz übliche Shell. Eine Kommandozeile wird anstelle von \n (new-line) mit ; (semikolon) abgeschlossen.
Versuche die Variable $\ (Output Record Separator) anders zu setzen (undef, '', ';') lieferten nicht das gewünschte Ergebnis.
Hier mein Testcode
1
2
3
4
5
6
7
8
9
10
11
12
13
use Net::OpenSSH;
local $\;
my $ssh = Net::OpenSSH->new('user:password@hostname');
die("Error: connection failed") if($ssh->error);
my ($out,$err) = $ssh->capture2("some command;");
print "> $out\n\n";
print "E $err\n";
Ausgabe ist lediglich
Connection to HOSTNAME closed by remote host.
>
E
Hat hier jemand Erfahrung mit Net::OpenSSH und weis wie ich mein Problem doch noch lösen könnte? Oder kennt vielleicht jemand ein anderes Perl Modul das $\ berücksichtigt?
Vielen Dank schon im vornherein.
mfg
bk