Linux: passando comandos para o CLI usando um script

1

Existe alguma maneira de passar comandos diretamente para o CLI de uma ferramenta?

Eu gostaria de escrever algumas ações, por exemplo:

./OpenBTS < "tmsis"

Não preciso recuperar os resultados (vejo-os no arquivo de log). Faz Você tem alguma ideia de como eu poderia perceber isso? Existe agora maneira de fazer isso usando parâmetros de linha de comando, pelo menos não que eu descobri. Então parece que eu tenho que descobrir o que eu sou. Qualquer ideia? Talvez eu pudesse automatizar a tela de forma a detectar o prompt e "colar" o meu comando lá. Existem ferramentas para isso no Linux?

    
por studiohack 31.07.2011 / 11:15

3 respostas

5

Parece que você está procurando espera

    
por 31.07.2011 / 11:17
1

Você pode tentar com um heredoc, algo como:

./OpenBTS <<EOF
tmsis
EOF

como na transcrição a seguir, que insere entradas em sed :

pax$ sed 's/^/Q/' <<EOF
> hello
> goodbye
> EOF
Qhello
Qgoodbye

Alternativamente, você pode apenas fazer eco diretamente, como

echo "tmsis" | ./OpenBTS

de acordo com o exemplo a seguir:

pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye
    
por 31.07.2011 / 11:16
0

Não há uma maneira específica de fazer isso, mas se a ferramenta escuta em stdin, então você pode usar um heredoc para isso.

./sometool << EOF
action1
action2
quit
EOF
    
por 31.07.2011 / 11:17