Tôi có một chương trình P
mong đợi nhận được "Xin chào" và đầu ra "Tại sao?" trước khi cung cấp một tính năng. Tính năng này được sử dụng bởi các chương trình khác không biết rằng đó là phép lịch sự phổ biến để bắt đầu cuộc trò chuyện với "Xin chào". Do đó, tôi muốn viết một trình bao bọc cho P
hoạt động như thế này (cú pháp 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.
Sử dụng cat
hoặc dd
trong Replace...
phần (giống như cat <&p &; exec cat >&p
) kết quả trong đệm không cần thiết. Những lựa chọn của tôi là gì?
bash
giải pháp không áp dụng được zsh
, nhưng chắc chắn sẽ chấp nhận nó
ssh
và tùy chọn của nó ProxyCommand
.
cat
nói chung là không đệm. Nếu nó làm trên hệ thống của bạn, hãy thử cat -u
.
zsh
giải pháp hoặc là mộtbash
giải pháp chấp nhận được?