Leser: 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; print "Remote 1\n"; open (NETZ1, "ssh root\@mirror \'/sbin/ifconfigx\' |"); print "RC= $?\n"; while (my $zeile = <NETZ1>) { print $zeile; } close (NETZ1); print "-------------------------------------\n"; print "Remote 2\n"; open (NETZ2, "ssh root\@mirror \'/sbin/ifconfig\' |"); print "RC= $?\n"; while (my $zeile = <NETZ2>) { print $zeile; } close (NETZ2); print "-------------------------------------\n"; print "Lokal\n"; open (NETZ, "/sbin/ifconfiX |"); print "RC= $?\n"; while (my $zeile = <NETZ>) { print $zeile; } close (NETZ);
Quote~/tmp $ ./netz.pl
Remote 1
RC= 0
bash: /sbin/ifconfigx: No such file or directory
-------------------------------------
Remote 2
RC= 32512
eth0 Link encap:Ethernet HWaddr 00:11:25:6B:95:15
inet addr:10.197.117.29 Bcast:10.197.117.31 Mask:255.255.255.224
inet6 addr: fe80::211:25ff:fe6b:9515/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:140616093 errors:0 dropped:0 overruns:0 frame:0
TX packets:25181207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2652854770 (2.4 GiB) TX bytes:817283622 (779.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:178865 errors:0 dropped:0 overruns:0 frame:0
TX packets:178865 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:81867264 (78.0 MiB) TX bytes:81867264 (78.0 MiB)
-------------------------------------
Lokal
Can't exec "/sbin/ifconfiX": Datei oder Verzeichnis nicht gefunden at ./netz.pl line 27.
RC= 0
readline() on closed filehandle NETZ at ./netz.pl line 29.
~/tmp $
2009-12-16T15:42:52 murphyFazit: Dein Programm liefert genau das Ergebnis, welches man erwarten würde :-)
2009-12-17T07:56:37 roliDer RC den ich nach dem schließen der Pipe erhalte ist das der von ssh, oder der von dem Befehl den ich mit ssh ausführe?
2009-12-17T08:11:13 biancaWobei ich den von Dir gemachten Unterschied zwischen "der von ssh" und "der von dem Befehl den ich mit ssh ausführe" noch nicht ganz verstehe.
1
2
3
$? The status returned by the last pipe close, backtick ("``")
command, successful call to wait() or waitpid(), or from the
system() operator.
open my $pipe, "$cmd |" or die "Could not open $cmd: $!";
2009-12-17T07:56:37 roli[...]
Der RC den ich nach dem schließen der Pipe erhalte ist das der von ssh, oder der von dem Befehl den ich mit ssh ausführe?