Thread wer hat lust auf ein Spiel?
(61 answers)
Opened by conray at 2010-02-19 20:31 2010-03-04T02:08:00 murphy Das, was bei Binärprogrammen argv[0] ist, gibt es in der Form gar nicht bei Scripts, die über Shebang ausgeführt werden. Denn dabei wird der Aufruf des Scriptes in den Aufruf des Interpreters umgewandelt. Der Interpreter muss auch einen vollständigen Namen des Scriptes bekommen, weil er es sonst gar nicht öffnen könnte. Ein kleines Experiment: Code: (dl
)
1 $ cat interp.c Das argv[0] (naemlich "null") ist hier nirgends wiederzufinden. Ein bisschen wundert mich nur der Unterschied zwischen Zeile 23 und 31. Ferner gibt es auch Unixsysteme, die statt /tmp/script ein Argument wie /dev/fd/0 übergeben, um Race-Conditions bei Setuid-Programmen zu vermeiden. Es wäre interessant zu sehen, was $0 da beinhaltet. Lieblingsmodule: IPC::System::Simple, Path::Class
|