Ich habe ein Programm P
, das erwartet, "Hallo" zu empfangen und "Warum?" bevor Sie eine Funktion bereitstellen. Diese Funktion wird von anderen Programmen verwendet, die nicht wissen, dass es üblich ist, ein Gespräch mit "Hallo" zu beginnen. Ich möchte also einen Wrapper dafür schreiben P
, der so funktioniert (zsh-Syntax):
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.
Die Verwendung von cat
oder dd
in dem Replace...
Teil (so etwas wie cat <&p &; exec cat >&p
) führt zu unnötiger Pufferung. Was sind meine Optionen?
bash
Lösung, die in nicht anwendbar ist zsh
, aber sie sicherlich akzeptieren würde ☺
ssh
und seine Option ProxyCommand
.
cat
puffert im Allgemeinen nicht. Wenn dies auf Ihrem System der Fall ist, versuchen Sie es cat -u
.
zsh
Lösung oder ist einebash
Lösung akzeptabel?