Algumas informações básicas: Trabalhando com shell ash (busybox) em um dispositivo incorporado. De um script, preciso manter uma conexão de telnet local aberta em segundo plano para monitorar a saída de um serviço em execução localmente no dispositivo para que eu possa executar ações com base nessa saída. Eu não tenho esperanças, script, nc disponível. Para esclarecer, este serviço está jogando um fluxo de rádio na internet. Ele mostrará as informações da música atual em uma sessão de telnet quando a faixa for alterada, e é isso que eu preciso capturar especificamente.
Como posso manter uma sessão de telnet persistente aberta em segundo plano e usar descritores de arquivo personalizados ou pipes nomeados como lidos e / ou gravados na sessão? Meu entendimento da sintaxe dos redirecionamentos está faltando na melhor das hipóteses.
EDITAR : Eu acredito que estou no caminho certo. Mais uma vez, ainda não estou claro sobre os FDs personalizados e os pipes nomeados. Verdade seja dita eu não tenho certeza se eu preciso abrir o FD 6 para ler e escrever. Se alguém quiser esclarecer essa sintaxe para mim ou sugerir um método mais eficiente ou confiável, por favor,
mkfifo "INPUTPIPE"
exec 6<> "INPUTPIPE"
telnet "HOST" "PORT" <&6 >> "OUTPUTFILE" &
EDIT NOVAMENTE:
O acima tem funcionado bem para minhas necessidades. O Telnet permanece persistente em segundo plano e os scripts podem agora analisar as linhas de saída da sessão de telnet lendo "OUTFILE". Estou hesitante em responder, já que eu ainda gostaria de alguém com mais experiência para demonstrar uma sintaxe "mais correta" e / ou explicar isso melhor do que eu.