Linux: passando comandos para CLI usando um script

Linux: passando comandos para CLI usando um script

existe alguma maneira de passar comandos diretamente para a CLI de uma ferramenta?

Gostaria de criar um script de algumas ações, por exemplo:

./OpenBTS < "tmsis"

Não preciso recuperar os resultados (observo no arquivo de log). Você tem alguma ideia de como eu pude perceber isso? Agora existe uma maneira de fazer isso usando parâmetros de linha de comando, pelo menos não que eu tenha descoberto. Então parece que eu tenho que descobrir isso sozinho. Qualquer ideia? Talvez eu pudesse automatizar a tela de forma a detectar o prompt e "colar" meu comando lá. Existem ferramentas para isso no Linux?

Responder1

Parece que você está procurandoesperar

Responder2

Você pode tentar com um heredoc, algo como:

./OpenBTS <<EOF
tmsis
EOF

como na transcrição a seguir, que alimenta a entrada sed:

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

Alternativamente, você pode simplesmente fazer eco de coisas diretamente nele, como

echo "tmsis" | ./OpenBTS

conforme o exemplo a seguir:

pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye

Responder3

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

./sometool << EOF
action1
action2
quit
EOF

informação relacionada