Berdasarkan jawaban Mark A. , saya harus membuat sedikit penyesuaian untuk membuatnya berfungsi untuk Mac saya (setidaknya pada macOS Mojave Versi 10.14.4)
mkfifo a
mkfifo b
nc 127.0.0.1 8000 < b > a &
nc -l 8001 < a > b &
printf "" > a
Pernyataan printf itu tampaknya sangat penting. Kalau tidak, perintah netcat untuk terhubung ke port 8000 tidak akan pernah benar-benar mencoba untuk terhubung, dan perintah netcat untuk mendengarkan pada port 8001 tidak akan pernah benar-benar mendengarkan pada port 8001. Tanpa printf, setiap kali saya akan mencoba untuk terhubung ke port 8001 saya akan mendapatkan koneksi ditolak.
Asumsi saya adalah bahwa netcat entah bagaimana harus memblokir stdin (mungkin ia mencoba membacanya untuk beberapa alasan) sebelum benar-benar melakukan operasi Socket. Dengan demikian, tanpa pernyataan printf menulis ke fifo a, perintah netcat tidak akan pernah mulai mendengarkan pada port 8001.
Catatan: Saya akan meninggalkan jawaban pada posting Markus, tetapi saya belum memiliki reputasi.