Re: Fehlerbehandlung im Script

Autor: Markus Demleitner <msdemlei_at_cl.uni-heidelberg.de>
Datum: 01.07.2005
On Fri, Jul 01, 2005 at 04:18:40PM +0200, Werner Holtfreter wrote:
> Am Samstag, 25. Juni 2005 21:52 schrieb Marc Haber:
> 
> > > möchte einfache Fehlerbehandlung ergänzen
> >
> > 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 
> Löschversuch mit cdrecord nicht zum exit führen.
> 
> "man set" sagt:
> 
> | Unset all positional parameters: set --
> 
> Kann ich damit "set -e" wieder abschalten? Ist "e" ein "positional 
> parameter"? Die wörtliche Übersetzung führt da nicht weiter.
> 
> Wenn mir jemand eine Alternative zum Abfangen des Fehlers sagt, wäre 
> das auch nett.
Ich würde 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
Received on Fri Jul 1 16:26:43 2005

Dieses Archiv wurde generiert von hypermail 2.1.8.
Zurück zur UUGRN-Homepage.