Estou executando o Ubuntu Linux. Suponha que exista um programa chamado myprogram
. Este programa solicita a entrada do usuário; especificamente, o usuário deve digitar um número inteiro quando solicitado e pressionar Enter. Eu gostaria de automatizar esse processo usando um script bash. Em particular, eu gostaria de executar myprogram
, digamos, 100 vezes (usando um contador i
que passa de 1
para 100
). Em cada execução de myprogram
, gostaria de inserir o valor atual de i
quando solicitado.
(A propósito, myprogram
aceita opções / opções -options
, todas as quais serão constantes e, portanto, especificadas no script bash.)
Um esqueleto incompleto desse script bash pode ser:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
Agora eu gostaria de modificar o código acima para que o valor atual de i
seja inserido quando solicitado pelo programa. Qual é a melhor maneira de fazer isso?
O site do software que estou usando sugere usar <<EOF
no final da myprogram -options
linha. Eu acho que isso diz ao bash para olhar para o "final do arquivo" para a entrada usar. Mas e se eu não quiser colocar a entrada no final do arquivo? E se eu gostaria de colocá-lo imediatamente após o <<
ou <
?
A razão é que as coisas ficarão mais complicadas. Por exemplo, posso introduzir um contador inteiro j
que muda de alguma maneira não linear e não seqüencial. Gostaria, então, de alimentar o valor atual de j
para myprogram
em cada iteração, mas o valor de j
pode mudar entre a chamada myprogram -options
e o final do arquivo EOF
.
Você tem alguma sugestão?