Notez que le ' echo "$var" | command
signifient que l'entrée standard est limitée à la ou les lignes renvoyées. Si vous souhaitez également que le terminal soit connecté, il vous faudra être plus fantaisiste :
{ echo "$var"; cat - ; } | command
( echo "$var"; cat - ) | command
Cela signifie que la ou les premières lignes seront le contenu du fichier $var
mais le reste viendra de cat
en lisant son entrée standard. Si la commande ne fait rien de trop fantaisiste (essayez d'activer l'édition de la ligne de commande, ou exécutez comme suit vim
), alors tout ira bien. Sinon, il faut être très sophistiqué. expect
ou l'un de ses dérivés est susceptible d'être approprié.
Les notations de la ligne de commande sont pratiquement identiques - mais le deuxième point-virgule est nécessaire avec les accolades alors qu'il ne l'est pas avec les parenthèses.