2016-07-07 10 views
0

Normalerweise arbeite ich mit Python, aber ich habe ein Projekt in Perl. Also: Was ist der Prozess, um die Ergebnisse eines Snmpwalk zu einer Zeichenkette zu leiten? Ich möchte die Zeichenfolge durchsuchen, um zu sehen, ob sie eine kleinere Zeichenfolge enthält. Hierperl snmpwalk zu string

ist das, was ich bisher:

foreach (@list){ 
     chomp($_); 
     system("snmpwalk -v 2c -c community-string $_ oid-hidden"); 
     if (index($string, $substring) != -1) { 
      print "'$string' contains '$substring'\n"; 
     } 

} 
+2

Ich würde empfehlen, ein Modul, entweder [Net :: SNMP] (https://metacpan.org/pod/Net: : SNMP), ein reines Perl-Modul oder [SNMP.pm] (http://www.net-snmp.org/docs/perl-SNMP-README.html), die Perl-Bindungen zur net-snmp-Bibliothek. – ThisSuitIsBlackNot

Antwort

2

system Funktion nicht die Funktion Ausgabe zurückgibt, verwenden qx// oder Backticks, so dass Ihre snmpwalk Ruflinie wird wie folgt aussehen:

my $output = qx/snmpwalk -v 2c -c community-string $_ oid-hidden/;

Und dann tun Sie mit der Ausgangsvariablen, was Sie brauchen, für weitere Informationen würde ich verweisen Sie auf http://perldoc.perl.org/perlop.html#Quote-Like-Operators

jedoch in allgemeinerer Form ich dem Rat folgen würde in @ ThisSuitIsBlackNot Kommentar ...

Verwandte Themen