Andreas Schwab <[email protected]> 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