якщо я хочу відобразити "aaa" на екрані:
(1)$: echo aaa | cat ... works OK
(2)$: echo aaa | ( cat ) ... works OK
(3)$: echo aaa | ( cat & ) ... NOT working
(4)$: ( echo aaa & ) | cat ... works OK
(5)$: echo aaa | ( cat <&0 & ) ... works ok in BASH (but not in SH)
(6)$: echo aaa | ( cat <&3 & ) 3<&0 ... works ok in BASH and SH
Виключення з (3) та (4) -> відокремленого процесу все ще мають підключений вихід, який можна керувати, використовувати, перенаправляти ..., але не вводити!
Моє запитання: чи хтось розуміє, чому і як працює лінія (5) ???
... "<& 0" є скороченням "0 <& 0", чому перенаправлення 0 на 0 - це рішення, а що насправді відбувається позаду при введенні окремого процесу. Абонемент не є проблемою, використовуючи дужки {...} замість (...) дають однакові результати.
... і питання2: чи є краще рішення для "надання вводу в окремий процес", ніж рядок (6).