Thread ARGV in perl (6 answers)
Opened by MULLE123 at 2011-07-26 18:54

Gast MULLE123
 2011-07-26 18:54
#150771 #150771
Hallo,

ich bins mal wieder mit einem Problem :).

Ich habe ein sehr merkwürdiges Verhalten mit ARGV. Ich führe ein Nagios-Plugin aus und übergebe diesem verschiedene Werte von der Kommandozeile. Einige Variabeln habe ich schon vordefiniert, die optional zu ändern sind. Der folgende Code wird zur Zuweisung verwendet:
Code: (dl )
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
if ($ARGV[0]) {
$o_host = $ARGV[0];
}
if ($ARGV[1]) {
$o_community = $ARGV[1];
}
if ($ARGV[2]) {
if($ARGV[2]eq "1"){
$o_version="1";
}
elsif($ARGV[2]eq "2"){
$o_version2="1";
}
else{
print "Wong SNMP-version";
}
}
if ($ARGV[3]) {
$o_state = $ARGV[3];
}
if ($ARGV[4]) {
$o_port = $ARGV[4];
exit 0;
}
if ($ARGV[5]) {
$o_timeout = $ARGV[5];
}


Weiterhin habe ich zum debuggen folgende Ausgabe:
Code: (dl )
print "Port:" . $ARGV[0] . "!" . $ARGV[1]. "!". $ARGV[2] . "!" . $ARGV[3]. "!". $ARGV[4] . "!" . $ARGV[5];


Ich rufe das Plugin wie folgt auf:
perl plugin.pl 172.30.1.100 testSSG350 2 master

Ich gebe dem Plugin also die 4 Parameter mit.
Meine Ausgabe sagt aber folgendes:
Quote
Port:172.30.1.100!testSSG350!2!master!-H!172.30.1.100


Ich kann mir nicht erklären woher -H und 172.30.1.100 kommen. Die werden nirgends statisch im Skript zugewiesen!!!

Vorher hatte ich das Skript mit Getopt programmiert und da benötigte ich -H 172.30.1.254 als Zuweisung der Hostadresse.

Kennt jemand dieses Phänomen??? Bin für jede Hilfe dankbar.
Last edited: 2011-07-26 19:20:03 +0200 (CEST)

View full thread ARGV in perl