[linux-l] bash: [[ vs. [

Jan-Benedict Glaw jbglaw at lug-owl.de
Fr Mai 16 17:01:35 CEST 2003


On Fri, 2003-05-16 16:39:40 +0200, Oswald Buddenhagen <ossi at kde.org>
wrote in message <20030516143939.GA23851 at ugly.local>:
> On Fri, May 16, 2003 at 04:03:00PM +0200, Jan-Benedict Glaw wrote:
> > > darum ging es nicht. wenn meine variablen bestimmten unerwarteten
> > > inhalt haben, dann hab ich mit anführungszeichen die "silent
> > > fail"-situation, während ohne diese sich die shell gleich beschwert.
> > > in diesem sinne ist der minimalistische ansatz der fehlererkennung
> > > dienlich.
> > 
> > 'tschuldigung, aber: SO EIN SCHWACHSINN!
> 
> > Das wäre so, als ob Du es in einem C-Programm legitim fänden würdest,
> > wenn es SIGSEGV'ed, wenn man falsche Eingaben macht.
> >
> was ich auch tue. mir ist ein sigsegv mit einem klaren backtrace (bzw,
> ein syntax error von der shell) wesentlich lieber, als eine
> fehlfunktion, zersägte daten und nicht mal der ansatz eines hinweises,
> wo das problem liegt.

Nein nein, keine Fehlfunktion, sondern vollständige Fehlerbehandlung!

Klar, einen Absturz ziehe ich auch falschen Daten vor, aber noch "vorer"
ziehe ich eine saubere und vollständige Fehlerbehandlung.

> > Besser, gehe _immer_ davon aus, daß Du Scheiße eingefüttert bekommst.
> >
> ja, besonders von meinem eigenen code zwei zeilen drüber. man kann auch
> paranoid sein ...

Das ist der Unterschied zwischen einem "Hack" und einem "Programm".

> > Heute sind wir ja netterweise in der Lage, ab und zu mal ein Stückchen
> > Source-Code zu recyclen. Innerhalb Deines Programmes können gewisse
> > Annahmen über die möglichen Parameter ja stimmen. Aber was, wenn eine
> > Funktion aus diesem Kontext herausgerissen wird und nun mit ganz anderen
> > Sachen gefüttert wird? Also - besser gleich "richtig" machen.
> > 
> wenn ich daran erinnern darf: wir sprechen hier von shell-scripten. in
> diesem kontext von modularisierung, etc. zu sprechen, grenzt schon an
> lächerlichkeit.

Genau. Und so ganz aus dem Zusammenhang habe ich in diesem Thread ein
Stückchen aus Debians /etc/init.d/mountnfs.sh herausgerissen.

> und so ganz allgemein gesagt: entweder man geht davon aus, daß die
> parameter sinnvoll sind und verarbeitet sie ohne bedenken, oder man
> geht nicht davon aus und validiert sie vorher, um dann wieder bei
> der ersten situation anzugelangen. die eigentliche logik mit workarounds
> für fehlerhafte eingaben zu verunstalten ist einfach nur krank.

Naja... Ansichtssache.

MfG, JBG
PS: ...und ja, im kommerziellen Rahmen habe ich Programme draußen, die,
wenn sie auf die Nase fallen, gleich einen halbwegs dekodierten Stack
hinterlassen. 'nen core ist da nicht immer machbar (man könnte da auf
einem RO-Medium sein...).

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
      ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20030516/87016ef6/attachment.sig>


Mehr Informationen über die Mailingliste linux-l