Automatize o procedimento de entrada para um arquivo binário

4

Eu tenho um arquivo binário no Unix, que quando executado, pede ao usuário entradas. As entradas para este arquivo binário são dadas manualmente. Eu quero automatizar o procedimento, já que conheço as entradas já. Eu não posso modificar o arquivo binário. Como posso fazer isso ? Isso é possível via shell script ou até mesmo com ant targets?

    
por g4ur4v 21.03.2013 / 14:03

2 respostas

6

Se o programa ler a partir da entrada padrão (ao invés de direto do terminal), você pode fazer algo como

echo -e "answer1\nanswer2\nanswer3\n" | your_program

Um documento aqui pode ser mais legível:

your_program <<'EOF'
answer1
answer2
answer3
EOF
do_more_stuff

(Você pode escolher qualquer string em vez de EOF , apenas certifique-se de usar o mesmo em <<'somestring' e marcar o final da entrada. A string não deve aparecer como uma linha de entrada. a marca de entrada não deve ser recuada.)

Se você precisar de interação mais complexa, um script expect é o que você deseja.

    
por 21.03.2013 / 14:53
2

Se você tem muitas entradas, você também pode colocar essas entradas em um arquivo

in.txt:
input1
input2
...
intputn

E chame binário assim:

binary < in.txt
    
por 21.03.2013 / 22:01