[Alug] Frage zum Skripten

Guennadi Liakhovetski g.liakhovetski at gmx.de
Mon Nov 23 22:30:14 CET 2009


On Mon, 23 Nov 2009, D. Buchkremer wrote:

> Am Montag, 23. November 2009 20:42 schrieb "D. Buchkremer" 
> <dezibel007 at online.de>:
> > Am Montag, 23. November 2009 20:10 schrieb Christian Bricart
> >
> > <christian at bricart.de>:
> > > > So, und jetzt nochmal: ich hab gerade "echo -e "file: \"$file\""
> > > > " probiert, nachdem ich die einfach mal wie im eigtl. Skript mit
> > > > "file=$(mktemp)" angelegt habe. Er gibt mir dann doch einen
> > > > plausiblen Dateinamen aus: " file: "/tmp/tmp.uYBXA11239" ". Also
> > > > irgendwie finde ich das paradox...
> > > > Aber er (also dd) meckert ja auch nicht, daß er mit der
> > > > of=-Option nicht klarkommt, sondern die bash meckert, daß sie das
> > > > "command not found" hat... -> Wat nu?
> > >
> > > deswegen meine ich ja, dass in $file evtl an genau diesen beiden
> > > Stellen was komisches drinsteht - weil die beiden Zeilen haben
> > > genau diesen Teil gemeinsam..
> >
> > Das stimmt. Aber an einer anderen Stelle in der Schleife verwende ich
> > $file auch (für cmp), da geht alles ohne Probleme. Und mein Verdacht,
> > daß die Option "if" von dd Komplikationen auslösen könnte (weil das
> > ja ein der bash nich tunbekanntes Wort ist) sehe ich auch als nicht
> > haltbar, weil das woanders auch kein Meckern auslöst...
> >
> 
> Ich habe gerade festgestellt, daß die Datei $file, die mktemp ja 
> irgendwo (also unter einem random-Namen) in /tmp erstellt, leer bleibt.
> dd kann anscheinend nicht dahin schreiben. Kanns das sein?

David, was noch beim Shell-Debuggen manchmal hilft, ist

set -x

am Anfang des Skriptes zu setzen. Das gibt jede Zeile Deines Skripts 
_nach_ der Variablenauflösung suf stderr aus.

Grüße
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/