Abrindo um aplicativo e inserindo um comando em uma linha

1

Eu desenvolvi um aplicativo em C que é uma linha de comando. O aplicativo tem palavras-chave especiais para gerar informações. Atualmente eu preciso executar um comando para fazer login no meu aplicativo, em vez de executar um comando para obter uma saída e, finalmente, sair do aplicativo.

Existe uma maneira de combinar minhas 3 linhas em uma? Por exemplo, faça o login, insira o comando e saia seqüencialmente? Como você pode ver no exemplo abaixo, se eu puder fazer isso tudo em uma linha, não precisarei inserir manualmente todas as etapas.

./application -login [email protected]
> getstats
> exit    
./application -login [email protected]
> getstats
> exit
etc...

O que eu quero é algo como ...

./application -login [email protected] && getstats && exit

É claro que & & não é o que eu estou procurando, pois ele executa cada comando, um de cada vez, até. getstats e exit não sejam executados dentro do .application, mas sim depois que eu sair dele ...

Qualquer dica seria ótima.

    
por sphchow 20.02.2017 / 09:40

1 resposta

2

Se este aplicativo funcionar com entrada padrão , isso pode funcionar:

printf 'getstats\nexit\n' | ./application -login [email protected]

Se isso não funcionar, você pode tentar um script expect . Você pode ver um exemplo aqui .

    
por 20.02.2017 / 09:47