Como iniciar o script e colocar a entrada padrão em um comando?

1

Eu tenho um programa de console que usa entrada e saída padrão.

Por exemplo, eu chamo: ./program_name e depois eu insiro entrada

Eu preciso fazer estas duas ações em um comando como: ./program_name 'my input string' (este comando retorna Abort trap: 6 ).

Como fazer isso?

Eu não tenho código-fonte para o programa.

    
por Ilya Blokh 28.09.2015 / 19:42

2 respostas

10

Use uma string aqui

./program_name <<< 'my input string'

ou um documento aqui (mais longo, mas padrão):

./program_name <<EOF
my input string
EOF
    
por 28.09.2015 / 20:14
4
echo my input string | ./program_name

Ou, se você é um cotista:

echo "my input string" | ./program_name

Outra dica útil é um subshell para coletar a saída de várias fontes, por exemplo:

( echo header; cat /etc/passwd; echo footer ) | ./program_name
    
por 28.09.2015 / 19:45

Tags