Problem mit Bash: Umleitung von Ausgabe

Frank Matthieß frankm at lug-owl.de
Thu Apr 3 18:08:02 CEST 2003


Donnerstag den  3.04.2003 um 17:48 CEST +0200, schrieb Jan-Benedict Glaw:
> On Thu, 2003-04-03 17:22:02 +0200, Florian Schwarz <floh at maflohsoft.de>
> wrote in message <3E8C519A.1020408 at maflohsoft.de>:
> > Jan-Benedict Glaw schrieb:
> > >>Florian Schwarz schrieb:
> > >Könntest Du das Script anhängen oder sonstwo hinpacken, sodaß man sich
> > >das angucken kann. Ich vermute, daß Du (vielleicht nicht so ganz
> > >offensichtlich;) irgendwo 'nen Syntax-Fehler d'rinhast...
> > 
> > Ich habe das Wesen mal unter http://floh.linland.de/incmysqlback.sh 
> > geparkt. Wäre nett wenn du (oder jemand anders) sich das mal anschauen 
> > könnte. Auch sonstige Verbesserungsvorschläge sind erwünscht!!!
> 
> Hmmm.
> 
> Also, "diff A B > C" und "diff A B | cat C" sind zwei vollkommen
> unterschiedliche Dinger;)
> 
> In Variante 1 wird nichts ausgegeben, der Diff landet in Datei C.

Was gewünscht ist.

> 
> In Variante 2 wird erst der Diff nach stdout ausgegeben, danach nochmal
> zusätzlich C. C wird nicht überschrieben. C enthält hinterher nicht den
> diff (...oder bestenfalls noch 'ne alte Version).

Falsch. Siehe unten.

> 
> An einigen Stellen leidet die Lesbarkeit stark unter der häufigen
> Verwendung von "&&", an einigen Stellen denke ich sogar, daß die
> "richtige" Ausführung fraglich ist...
> 
> So, wie's jetzt ist, ist's auf jeden Fall falsch (also mit der
> "cat"-Konstruktion). Dein Fehler-Handling ist da auch falsch. Z.B.:
> 
> 
>   diff $BACKUPDIR/$YESTERYEAR/$YESTERDAY.sql $BACKUPDIR/$YEAR/$TODAY.sql 2>$BACKUPDIR/diff.err | cat $BACKUPDIR/current.diff
>   if [ $? != 0 ]; then
>   	error_handling "Creating Diff-File failed!" diff
>   fi

Da sollte auch "...| cat > C" stehen...
Ansonsten wird C via cat ausgegeben.


Frank.
-- 
Frank Matthieß                                               frankm at lug-owl.de

  This is GNU/Linux Country.  On a quiet night, you can hear Windows reboot.




More information about the Linux mailing list