J'ai un programme P
qui s'attend à recevoir "Bonjour" et à afficher "Pourquoi?" avant de fournir une fonctionnalité. Cette fonctionnalité est utilisée par d'autres programmes qui ne savent pas qu'il est courant de commencer une conversation avec "Bonjour". Je veux donc écrire un wrapper pour P
ça fonctionne comme ça (syntaxe 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'utilisation de cat
ou dd
dans la Replace...
pièce (quelque chose comme cat <&p &; exec cat >&p
) entraîne une mise en mémoire tampon inutile. Quelles sont mes options?
bash
solution qui n'est pas applicable dans zsh
, mais qui l'accepterait certainement ☺
ssh
et son option ProxyCommand
.
cat
ne tamponne généralement pas. Si c'est le cas sur votre système, essayez cat -u
.
zsh
solution ou unebash
solution est-elle acceptable?