marinux
Goto Top

Problem mit exec in Perl

Hallo,

ich möchte in Linux mittels Perl die Netzwerkinterfaces ausgeben. In Bash geht dies mit diesem Code.

ip link show|grep "^[0-9]\+"|awk '{ print $2 }'|tr -d ":"|sort  

Diesen Code möchte ich nun in Perl mittels exec ausführen. Daran scheitere ich aber. Kann mir jmd. erklären, wie ich dies bewerkstelligen kann.

Schön wäre es auch, wenn die gelisteten Interfaces dann in einem Array in Perl gespeichert werden würde.

Gruß

Content-Key: 179348

Url: https://administrator.de/contentid/179348

Printed on: April 18, 2024 at 15:04 o'clock

Member: Dani
Dani Jan 22, 2012 at 18:33:01 (UTC)
Goto Top
Moin,
wie sieht denn dein Perlquellcode für die Zeile aus?
Hier ein Beispiel wie sowas ausehen kann.


Grüße,
Dani
Member: marinux
marinux Jan 22, 2012 at 19:31:29 (UTC)
Goto Top
Hallo,
die Exec-Dokumentation hatte ich mir schon zu Gemüte geführt. Wie ich es bisher versucht habe waren verschiedene Kombinationen um die Argumente anzufügen. Leider ohne Erfolg. Ich denke es liegt an den Anführungszeichen, wobei ich diese schon mit Backslash Versehen habe. Deswegen meine Bitte um Hilfe.
Member: Dani
Dani Jan 22, 2012 at 21:02:35 (UTC)
Goto Top
Guten Abend,
ersetz die Anführungszeichen einfach mal durch ein Hochkomma ('). Das sollte funktionieren...
Bitte evtl. Fehlermeldungen posten!

Grüße,
Danni
Member: kn0rki
kn0rki Jan 23, 2012 at 00:33:11 (UTC)
Goto Top
was haelst du denn von einem entsprechenden PERL Modul?

http://search.cpan.org/~miker/Net-Interface-1.012/Interface.pm
Member: marinux
marinux Jan 23, 2012 at 15:57:24 (UTC)
Goto Top
Hallo,

auf die Schnelle gelesen hilft mir dies nicht weiter, da nur Netzwerkkarte damit konfigurierbar und keine Netzwerkanalyse.

Gruß
Member: marinux
marinux Jan 24, 2012 at 13:12:44 (UTC)
Goto Top
Hat sich erledigt,

konnte es mit `tcpdump -D` lösen.

Gruß