Ho un programma Pche si aspetta di ricevere "Hello" e produrre "Why?" prima di fornire una funzione. Questa funzione è utilizzata da altri programmi che non sono consapevoli del fatto che è comunemente cortesia iniziare una conversazione con "Ciao". Voglio quindi scrivere un wrapper perché funzioni in Pquesto modo (sintassi 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.
L'uso cato ddnella Replace...parte (qualcosa del genere cat <&p &; exec cat >&p) comporta un buffering non necessario. Quali sono le mie opzioni?
bashsoluzione che non è applicabile in zsh, ma certamente lo accetterei ☺
sshe la sua opzione ProxyCommand.
catgeneralmente non buffer. Se funziona sul tuo sistema, prova cat -u.
zshsoluzione o è unabashsoluzione accettabile?