Hi Pierre,

On Wed, Aug 24, 2011 at 12:32:09AM +0200, Pierre Bernhardt wrote:
> aus, kommen aber mit einem exit 0 zurück (manchmal aber auch > 0). Nun 
> benötige ich am
> besten per Pipe-Verbindung ein kleines Tool, was auf den stderr hört und sich 
> dann mit einem
> exitcode >0 beendet, wenn auf stderr etwas durch rauscht. Prinzipiell, sobald 
> es etwas findet,
> braucht es gar nicht mehr weiter am stderr hören und muss nur noch auf das 
> Ende warten, damit
> es seinen Exitcode los wird.
> Das alles soll ohne temporäre Dateien ablaufen und der stdout und stderr 
> müssen ca. 1:1 hinten
> wieder raus kommen.

hilft Dir das weiter?

treferpol:~$ exec 3<&1
treferpol:~$ { { echo stdout; echo stderr >&2; echo stdout2; } 2>&1 >&3|tee 
/dev/stderr|{ while read f;do g=$g$f;done;[ "$g" ] && exit 1; exit 0; } ;echo 
${PIPESTATUS[*]}; } 3>&1
stdout
stdout2
stderr
0 0 1
treferpol:~$ { { echo stdout; echo stdout2; } 2>&1 >&3|tee /dev/stderr|{ while 
read f;do g=$g$f;done;[ "$g" ] && exit 1; exit 0; } ;echo ${PIPESTATUS[*]}; } 
3>&1
stdout
stdout2
0 0 0

Der PIPESTATUS ist "0 0 1" wenn auf stderr etwas ausgegeben wird.

Die Stroeme:

treferpol:~$ { { { echo stdout; echo stderr >&2; echo stdout2; } 2>&1 >&3|tee 
/dev/stderr|{ while read f;do g=$g$f;done;[ "$g" ] && exit 1; exit 0; } ;echo 
${PIPESTATUS[*]}; } 3>&1; } >/dev/null
stderr
treferpol:~$ { { { echo stdout; echo stderr >&2; echo stdout2; } 2>&1 >&3|tee 
/dev/stderr|{ while read f;do g=$g$f;done;[ "$g" ] && exit 1; exit 0; } ;echo 
${PIPESTATUS[*]}; } 3>&1; } 2>/dev/null
stdout
stdout2
0 0 1

Die bleiben dabei unveraendert. Reicht Dir das fuer ein Script?

Frank

-- 
EDV Frank Bergmann                           Tel.     05221-9249753
LPIC-3 Linux Professional                    Fax      05221-9249754
Elverdisser Str. 25                          email    [email protected]
32052 Herford                                USt-IdNr DE237314606
-- 
Linux mailing list [email protected]
subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux
Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo

Antwort per Email an