Mam program, Pktóry oczekuje na otrzymanie „Cześć” i wyjście „Dlaczego?” przed udostępnieniem funkcji. Ta funkcja jest używana przez inne programy, które nie zdają sobie sprawy z tego, że rozpoczęcie rozmowy z „Cześć” jest powszechne. Dlatego chcę napisać opakowanie, Pktóre działa w ten sposób (składnia 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.
Użycie catlub ddw Replace...części (coś podobnego cat <&p &; exec cat >&p) powoduje niepotrzebne buforowanie. Jakie są moje opcje?
bashrozwiązaniem, które nie ma zastosowania zsh, ale na pewno bym je zaakceptował ☺
sshi jego opcja ProxyCommand.
catgeneralnie nie buforuje. Jeśli działa w twoim systemie, spróbuj cat -u.
zshrozwiązanie, czy rozwiązanie jest dobashprzyjęcia?