Ich habe ein Perl-Skript, das andere Programme aufruft, d.h. es ruft system
und/oder exec
und/oder open
mit einem Pipe auf und/oder verwendet den Backtick-Operator.
Kann ich dieses Skript so ausführen, dass es die Argumente für jeden der oben genannten Befehle ausgibt, damit ich sehen kann, was es aufruft?
Zum Beispiel ein Programm wie dieses das ich nicht ändern kann
#!/usr/bin/perl
sub get_arg {return "argument$_[0]";}
system "./foo", get_arg(1), get_arg(2);
print `./foo abc def`;
Möglicherweise aufgerufen wie folgt
perl --shell-trace-on ./myscript.pl
Was in diesem Fall ausgegeben wird
./foo argument1 argument2
./foo abc def
Es ist akzeptabel, die normale Ausgabe von myscript.pl zu verwerfen oder mit dieser Spur zu kombinieren.
Vielen Dank.