J'utilise Ubuntu Linux. Supposons qu'il existe un programme appelé myprogram. Ce programme invite l'utilisateur à entrer; en particulier, l'utilisateur doit saisir un entier à l'invite et appuyer sur Enter. Je voudrais automatiser ce processus en utilisant un script bash. En particulier, je voudrais exécuter myprogram, disons, 100 fois (en utilisant un compteur iqui va de 1à 100). À chaque exécution de myprogram, je voudrais saisir la valeur actuelle de ilorsque vous y êtes invité.
(Soit dit en passant, myprogramprend les options / commutateurs -options, qui seront tous constants et donc spécifiés dans le script bash.)
Un squelette incomplet de ce script bash pourrait être:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
Maintenant, je voudrais modifier le code ci-dessus afin que la valeur actuelle de isoit entrée lorsque le programme le demande. Quelle est la meilleure façon de procéder?
Le site Web du logiciel que j'utilise suggère d' utiliser <<EOFà la fin de la myprogram -optionsligne. Je pense que cela dit à bash de regarder la "fin du fichier" pour l'entrée à utiliser. Mais que faire si je ne souhaite pas placer l'entrée à la fin du fichier? Et si j'aimerais le mettre immédiatement après le <<ou <?
La raison en est que les choses deviendront plus compliquées. Par exemple, je peux introduire un compteur entier jqui change d'une manière non linéaire et non séquentielle. Je voudrais ensuite alimenter la valeur actuelle de jto myprogramà chaque itération, mais la valeur de jpeut changer entre l'appel à myprogram -optionset la fin du fichier EOF.
Avez-vous des suggestions?