Thread Problem mit dem Befehl system: Programmparameter aus einer Variable... (5 answers)
Opened by DRACO at 2006-07-26 19:30

betterworld
 2006-07-27 00:43
#68406 #68406
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=renee,26.07.2006, 18:01]probier mal
Code: (dl )
1
2
my @args = ('-v','-A',$ip,">","C:\\log\\$ip.log");
system('nmap',@args);
[/quote]
Das kann so nicht funktionieren. Die Mehrere-Parameter-Form von system ist zwar meist zu bevorzugen, weil dadurch die Parameter nicht durch eine Shell interpretiert werden, was unbeabsichtigte Nebenwirkungen erspart. In diesem Falle jedoch will man ja die Shell haben, denn die Umleitung mit '>' ist definitiv ein Shell-Feature.

[s]Man kann natuerlich auch so machen:[/s]
Code: (dl )
1
2
3
4
5
6
{
local *STDOUT;
open STDOUT, '>', "c:\\log\\$ip.log" or die $!;
my @args = ('-v','-A',$ip);
system('nmap', @args);
}

Update: Funktioniert doch nicht so, wie ich mir das gedacht habe.\n\n

<!--EDIT|betterworld|1153947721-->

View full thread Problem mit dem Befehl system: Programmparameter aus einer Variable...