если я хочу отобразить «ааа» на экране:
(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) -> отдельного процесса все еще имеют подключенный выход, которым можно управлять, использовать, перенаправлять ..., но не вводить!
У меня вопрос: кто-то понимает, почему и как работает line (5) ???
... «<& 0» - это сокращение от «0 <& 0», почему перенаправление от 0 до 0 является решением, и что на самом деле происходит после ввода отдельного процесса. Subshell не являются проблемой, использование фигурных скобок {...} вместо (...) дает те же результаты.
... и вопрос2: есть ли лучшее решение для "ввода данных в отдельный процесс", чем строка (6).