[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fehlerbehandlung im Script
[Thread Prev] | [Thread Next]
- Subject: Re: Fehlerbehandlung im Script
- From: Markus Demleitner <msdemlei@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 1 Jul 2005 16:26:07 +0200
- To: uugrn@xxxxxxxxxxxxxxx
On Fri, Jul 01, 2005 at 04:18:40PM +0200, Werner Holtfreter wrote: > Am Samstag, 25. Juni 2005 21:52 schrieb Marc Haber: > > > > moechte einfache Fehlerbehandlung ergaenzen > > > > set [--abefhkmnptuvxBCHP] [-o option] [arg ...] > > -e Exit immediately if a simple command (see > > SHELL GRAMMAR above) exits with a non-zero status. > > > Hilft das? > > Perfekt! > > Aber nun muss ich stellenweise doch Fehler akzeptieren, z.B. wenn > statt einer CD-RW eine CD-R eingelegt wird, soll der Fehler beim > Loeschversuch mit cdrecord nicht zum exit fuehren. > > "man set" sagt: > > | Unset all positional parameters: set -- > > Kann ich damit "set -e" wieder abschalten? Ist "e" ein "positional > parameter"? Die woertliche Uebersetzung fuehrt da nicht weiter. > > Wenn mir jemand eine Alternative zum Abfangen des Fehlers sagt, waere > das auch nett. Ich wuerde nicht in einem Fort das e-Flag manipulieren -- Zustand ist vor allem bei solchen Problemen immer tricky, weil gerne mal ein ungesetztes e entkommt und dann scheiternde Programme doch nicht diagnostiziert werden. Warum nicht einfach ein gutes Ende simulieren? thisCommandMayFail || true -- wenn du es etwas selbstdokumentierender machen willst, sage ignorefail() { true } und dann mkfs /dev/hda1 || ignorefail Markus