2012-03-05 11 views
0

J'ai un programme C dans lequel deux scanf() sont terminés.Script shell pour exécuter le programme qui demande une entrée

J'ai besoin d'écrire un shellscript qui va lancer le programme et lui donner les arguments. Le problème est que tout ce que je pourrais trouver est de savoir comment transférer un argument dans le programme en tant qu'argument de ligne de commande, ce qui n'est pas ce dont j'ai besoin.

Toute aide appréciée.

+0

Pouvez-vous publier ce que vous avez essayé .. Vous avez mentionné que vous avez essayé quelque chose en rapport avec la tuyauterie. – Ajai

+0

@Ajai 'perl -e 'imprimer" entrée ";' '| programme –

Répondre

1

Cela devrait fonctionner

echo "some input" | yourprog 

par exemple echo "1 1 + p" |

+0

ha ha ha .... oui merci –

+0

En quoi n'utilise-t-il pas le pipeline? Le code que vous avez posté et la réponse mentionnée ci-dessus n'ont aucune différence. Vous le faites en perl et la réponse ci-dessus le fait en script shell. Vous avez également mentionné dans votre question que vous n'avez pas besoin d'une réponse pipeline ... Je me demande pourquoi cette simple réponse devrait être la réponse – Ajai

+0

@Ajai Vous avez raison, mais pour une raison quelconque, le script perl n'a pas produit le comportement souhaité (ie sortie). Je ne sais pas moi-même pourquoi. J'utilise shellscript pour lancer des attaques de format sur une machine virtuelle exécutant de vieilles versions de tout, cela pourrait en être la cause. –

Questions connexes