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