bash-problem mit "cmd1 | cmd2 > file"

24/11/2011 - 17:17 von Andreas Leitgeb | Report spam
Gleich vorweg, das Problem ist nich unter Linux sondern Solaris 10
aufgetreten, aber eben nur mit der bash, nicht mit der ksh
Auf die Chance hin, dass bash, und nicht solaris der verursacher
ist, frag ich mal hier.

Das Problem ist, dass eine pipeline und ein weiteres Kommando
cmd1 | cmd2 > file; cmd3 < file
gestartet werden, und beim Start von cmd3 das "file" manchmal(*)
nicht *vorhanden* ist, also eben nicht einmal als leeres file!
*: Wàr ja langweilig, wenn's nicht auch noch ein Heisenbug wàre.

Diese Kommandos wurden für ca 500 von ca 20000 Dateien eines
Verzeichnisses aufgerufen (for i in abc*; do ... ; rm file; done),
und funktionierten für die ersten 200 davon tadellos, ab dann kam
es bei ca jeder dritten zu dem Fehler, dass für cmd3 das file fehlte.
Die Anzahl an anfangs erfolgreichen Dateien variierte geringfügig
(+-50). Das schiefgehen für eine datei hatte scheinbar nichts mit
dem Inhalt der jeweiligen datei zu tun.

Nach der Änderung auf
cmd1 | cmd2 | cmd3
lief alles bestens, ebenso, wenn ich die ursprüngliche Version
unter ksh laufen liess.
D.h.: Es geht nicht um die lösung meines Problems, sondern um
die identifizierung eines bash-bugs(?) und ob er schon bekannt/
gefixt/... oder eben neu ist.
echo $BASH_VERSION sagt: 3.00.16(1)-release

Google liefert nach den Stichworten die ich probiert habe (*)
ca 2 millionen treffer, davon auf den ersten paar seiten nichts
auch nur annàhernd relevantes.
*: z.B.: bash bug redirection "no file"
 

Lesen sie die antworten

#1 Andreas Leitgeb
24/11/2011 - 17:23 | Warnen spam
Andreas Leitgeb wrote:
Das Problem ist, dass eine pipeline und ein weiteres Kommando
cmd1 | cmd2 > file; cmd3 < file
gestartet werden, und beim Start von cmd3 das "file" manchmal(*)
nicht *vorhanden* ist, ...


...
Nach der Änderung auf
cmd1 | cmd2 | cmd3
lief alles bestens, ...



Nachsatz: auch bei
cmd1 > file ; cmd2 < file | cmd3
trat das symptom *nicht* auf.

Und weiters: es war noch reichlich Platz auf der Partition.

Ähnliche fragen