[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [deb-cat] logsave mes net



2015-10-17, 10:45 (+0200); Narcis Garcia escriu:
> El problema és que quan hi ha canalitzacions (|) només arriba el
> resultat de sortida (exit code) de la última comanda (en aquest cas tee)
> i no m'entero de si la funció ha resultat en algun error.

Pots utilitzar un fitxer fifo en lloc de la canalització; per exemple

#!/bin/sh

fifo="$(mktemp -u)" || exit

trap "rm -f '$fifo'" 0
trap "exit 2" 1 2 3 15

mkfifo "$fifo" || exit

tee -a ./log <"$fifo" &

echo 1
echo 2 > "$fifo"
echo 3 > "$fifo"
echo 4
echo 5 > "$fifo"

si mires al fitxer ./log conté

2
3
5

que és correcte, en canvi a la sortida estàndard em surt desordenat

1
4
2
3
5

Si algú sap com resoldre aquest detall podria ser una solució.


Reply to: