jika saya ingin menampilkan "aaa" di layar:
(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
kesimpulan dari (3) dan (4) -> proses terlepas masih memiliki output yang terhubung yang dapat dikontrol, digunakan, diarahkan ..., tetapi tidak input!
Pertanyaan saya adalah: apakah seseorang mengerti mengapa dan bagaimana jalur (5) berfungsi ???
... "<& 0" adalah kependekan dari "0 <& 0", mengapa pengalihan 0 ke 0 adalah solusi, dan apa yang sebenarnya terjadi di belakang dengan input proses terpisah. Subshell bukan masalah, menggunakan kawat gigi {...} alih-alih (...) memberikan hasil yang sama.
... dan pertanyaan2: apakah ada solusi yang lebih baik untuk "memberikan input ke proses terpisah" daripada baris (6).