Thread Linux: Ausgabe von system() in Datei umleiten
(16 answers)
Opened by odium at 2010-09-23 10:27
Wenn ein System-Aufruf nicht ausgeführt wurde, sehe ich das durchaus als Fehler an.
Ob $! immer gesetzt ist, oder nicht, weiß ich nicht genau; aber bisher fuhr ich damit ganz gut. Es wird auch in der perldoc -f system als Beispiel gezeigt. Mein Test: Code: (dl
)
1 $ perl -wle 'system("not", "here") == 0 or die "failed with $?: $!\n";' Bei den Bit-Operation mit $? hast Du recht... (edit:) Das perldoc-Beispiel (besonders schön, weil es alle benannten Fälle behandelt ;o)): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? & 127) { printf "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'without'; } else { printf "child exited with value %d\n", $? >> 8; } edits: * fixed typos * added perldoc example Last edited: 2010-09-23 15:22:45 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |