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 i
qui va de 1
à 100
). À chaque exécution de myprogram
, je voudrais saisir la valeur actuelle de i
lorsque vous y êtes invité.
(Soit dit en passant, myprogram
prend 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 i
soit 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 -options
ligne. 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 j
qui change d'une manière non linéaire et non séquentielle. Je voudrais ensuite alimenter la valeur actuelle de j
to myprogram
à chaque itération, mais la valeur de j
peut changer entre l'appel à myprogram -options
et la fin du fichier EOF
.
Avez-vous des suggestions?