Andreas Schwab <sch...@linux-m68k.org> writes: > On Sep 10 2020, Chet Ramey wrote: > >> yy. Process substitution processes now get their input from /dev/null, since >> they are asynchronous, not interactive, and not jobs. > > That breaks scripts that want to filter stdin with a process > substitution, eg: > > while read ...; do ...; done < <(filter)
I'm assuming you mean "<( ... )" process substitutions, as ">( ... )" process substitutions are defined to get their stdin from the pipe. The interesting thing to me is that this change irritates me in its irregularity. But I do use process substitutions occasionally, and I went through my script that use "<( ... )". There aren't many, and none of the contained processes read stdin. So the change would have no practical consequences for me. I assume that if you really want the old effect, you can still do exec {dup}<&1 ... <( ... <$dup ) ... exec {dup}<&- Dale