GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Membuat Pipa Dua Arah Antara Dua Program?

Semua orang tahu cara membuat pipa searah antara dua program (bind stdout yang pertama dan stdin dari yang kedua):first | second .

Tapi bagaimana cara membuat pipa dua arah, yaitu cross-bind stdin dan stdout dari dua program? Apakah ada cara mudah untuk melakukannya di shell?

Jawaban yang Diterima:

Jika pipa pada sistem Anda adalah dua arah (seperti yang ada di Solaris 11 dan setidaknya beberapa BSD, tetapi bukan Linux):

cmd1 <&1 | cmd2 >&0

Waspadalah terhadap kebuntuan.

Perhatikan juga bahwa beberapa versi ksh93 pada beberapa sistem mengimplementasikan pipa (| ) menggunakan pasangan soket . pasangan soket adalah dua arah, tetapi ksh93 secara eksplisit menutup arah sebaliknya, sehingga perintah di atas tidak akan bekerja dengan ksh93 tersebut bahkan pada sistem di mana pipa (seperti yang dibuat oleh pipe(2) panggilan sistem) adalah dua arah.


Linux
  1. Bagaimana Memilih Kejadian Pertama Antara Dua Pola Termasuk Mereka?

  2. Bagaimana Cara Rsync File Antara Dua Remote?

  3. Linux – Bagaimana Cara Menghapus File yang Dibuat Antara Dua Kali?

  1. Bagaimana Mengirim Perintah ke Terminal Apa Pun?

  2. Bagaimana cara mendapatkan perbedaan antara dua tanggal di bawah bash

  3. Bagaimana cara menghapus file yang dibuat antara dua kali?

  1. Cara Mentransfer File Antara Dua Komputer menggunakan Perintah nc dan pv

  2. Bagaimana Cara Mengekstrak Log Antara Dua Cap Waktu?

  3. Membuat Tail -f Keluar Pada Pipa Rusak?