Sto eseguendo Ubuntu Linux. Supponiamo che esista un programma chiamato myprogram
. Questo programma richiede all'utente l'input; in particolare, l'utente deve digitare un numero intero quando richiesto e premere Enter. Vorrei automatizzare questo processo usando uno script bash. In particolare, vorrei eseguire myprogram
, diciamo, 100 volte (usando un contatore i
che va da 1
a 100
). Ad ogni esecuzione di myprogram
, vorrei inserire il valore corrente di i
quando richiesto.
(A proposito, myprogram
accetta opzioni / opzioni -options
, tutte che saranno costanti e quindi specificate nello script bash.)
Uno scheletro incompleto di questo script bash potrebbe essere:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
Ora vorrei modificare il codice sopra in modo che il valore corrente di i
sia inserito quando richiesto dal programma. Qual è il modo migliore per farlo?
Il sito Web del software che sto utilizzando suggerisce di utilizzare <<EOF
alla fine della myprogram -options
riga. Penso che questo dice a bash di guardare alla "fine del file" per l'input da usare. E se non volessi inserire l'input alla fine del file? E se volessi metterlo immediatamente dopo il <<
o <
?
Il motivo è che le cose diventeranno più complicate. Ad esempio, posso introdurre un contatore di numeri interi j
che cambia in modo non lineare e non sequenziale. Vorrei quindi alimentare il valore corrente di j
a myprogram
su ogni iterazione, ma il valore di j
può cambiare tra la chiamata a myprogram -options
e la fine del file EOF
.
Hai qualche suggerimento?