Log is printed out-of-order and stdout is available only at command end in case where the program writes to stderr first
Since >(sed xxx) is a parallel process, echo
from start.sh
is printed before the stderr/stdout. In addition, if logic.sh
first prints to stderr, the corresponding sed
blocks until completion of logic.sh
and only then stdout is printed. I'm not 100% but I think that what happens.