je bloque depuis des heures sur une redirection avec un shell. J'utilise Bash.
Je lance un programme en tâche de fond, et je veux lui envoyer du texte et lire sa réponse en détournant ses entrées et sorties standards. Je sais faire avec des fifos mais je souhaite comprendre comment faire sans.
Pour l'exemple j'ai pris expect:
#!/bin/bash
expect 6<&0 &
echo 'send_user toto' >&6
echo 'exit' >&6
L'exemple donné ne fonctionne pas car je ne trouve pas le début du commencement de ma solution.
Je voudrais attribuer le descripteur de fichier numéro 6 à l'entrée standard d'expect (et le 7 à sa sortie, je verrai plus tard). Ensuite les echo permettent de "parler" avec expect. Le tout sans toucher aux entrées et sorties standard du script car c'est déjà utilisé pour lire/écrire des choses.
Je trouve pleins d'exemples mais uniquement avec des sous-shells ou avec des fichiers genre exec 6
Je bloque, ça coince.
Si quelqu'un a du dégripant :)
# communication interprocess
Posté par goeb . Évalué à 0.
tu ne peux pas espérer faire communiquer 2 process sans pipe (|)
donc il faudrait que tu fasses :
echo toto | expect
(avec les redirections qui vont bien)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.