Saya memiliki program P
yang mengharapkan untuk menerima "Halo" dan menampilkan "Mengapa?" sebelum menyediakan fitur. Fitur ini digunakan oleh program lain yang tidak menyadari bahwa adalah hal yang umum untuk memulai percakapan dengan "Halo". Jadi saya ingin menulis pembungkus untuk P
yang berfungsi seperti ini (sintaks zsh):
coproc P
print -p Hello # Send Hello to P
read -pr line # Read what P has to say
[[ "$line" = "Why?" ]] && Replace current process with the coprocess.
echo Could not get P's attention.
Menggunakan cat
atau dd
di Replace...
bagian (sesuatu seperti cat <&p &; exec cat >&p
) menghasilkan buffering yang tidak perlu. Apa saja pilihan saya?
bash
solusi yang tidak berlaku di zsh
, tetapi pasti akan menerimanya ☺
ssh
dan pilihannya ProxyCommand
.
cat
umumnya tidak buffer. Jika berhasil di sistem Anda, coba cat -u
.
zsh
solusi atau apakahbash
solusi itu dapat diterima?