Tengo un programa Pque espera recibir "Hola" y mostrar "¿Por qué?" antes de proporcionar una función. Esta función es utilizada por otros programas que no son conscientes de que es una cortesía común iniciar una conversación con "Hola". Por lo tanto, quiero escribir un contenedor para Pque funcione así (sintaxis 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.
Usar cato dden la Replace...parte (algo así como cat <&p &; exec cat >&p) da como resultado un almacenamiento en búfer innecesario. ¿Cuáles son mis opciones?
bashsolución que no es aplicable zsh, pero que ciertamente la aceptaría ☺
sshy su opción ProxyCommand.
catgeneralmente no amortigua. Si lo hace en su sistema, intente cat -u.
zshsolución o es unabashsolución aceptable?