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-ID: 179348

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

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Dani
Dani 22.01.2012 um 19:33:01 Uhr
Goto Top
Moin,
wie sieht denn dein Perlquellcode für die Zeile aus?
Hier ein Beispiel wie sowas ausehen kann.


Grüße,
Dani
marinux
marinux 22.01.2012 um 20:31:29 Uhr
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.
Dani
Dani 22.01.2012 um 22:02:35 Uhr
Goto Top
Guten Abend,
ersetz die Anführungszeichen einfach mal durch ein Hochkomma ('). Das sollte funktionieren...
Bitte evtl. Fehlermeldungen posten!

Grüße,
Danni
kn0rki
kn0rki 23.01.2012 um 01:33:11 Uhr
Goto Top
was haelst du denn von einem entsprechenden PERL Modul?

http://search.cpan.org/~miker/Net-Interface-1.012/Interface.pm
marinux
marinux 23.01.2012 um 16:57:24 Uhr
Goto Top
Hallo,

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

Gruß
marinux
marinux 24.01.2012 um 14:12:44 Uhr
Goto Top
Hat sich erledigt,

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

Gruß