|
In Perl können Kommandos mit exec() oder system()
zur Ausführung gebracht werden.
| |
Es empfiehlt sich dabei, den impliziten Einsatz der
Shell zu vermeiden, da dies zur ungewollten Interpretation
von Metazeichen führen kann.
| |
Der Verzicht auf die Shell kann erzwungen werden, wenn
exec() oder system() in der folgenden Form verwendet
werden:
exec {'/bin/command'} '/bin/command', @args;
Hierbei wird zuerst der Pfadname der auszuführenden Datei
angegeben. Wenn der Pfadname nicht absolut ist, wird
$ENV{PATH} verwendet, um die Datei zu finden. Dann folgen
ohne Komma der Kommandoname, der an das Programm
als argv[0] übergeben wird und die restlichen Argumente.
| |
Sowohl exec() als auch system() sind nicht zugelassen,
solange $ENV{PATH} nicht auf einen nicht-kontaminierten Wert
gesetzt worden ist.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |