Mova o >> /ROUTE/output_file.txt
de onde está agora para a linha de telnet, para que a linha se torne } | telnet 172.22.89.133 >> /ROUTE/output_file.txt
Estou tentando codificar um script no qual posso conectar via telnet a outro servidor e executar determinadas operações, mas estou tendo problemas com o resultado desse processo.
O objetivo é conectar-se a um servidor, executar um comando e salvar o resultado em um arquivo .txt. É desejável que os parâmetros ou entrada estejam em um arquivo de entrada .txt, que é lido pelo script e executado. (Eu não fiz essa parte ainda.)
Aqui está o que eu tenho até agora.
#!/bin/bash
{
sleep 5
echo "user"
sleep 3
echo "password"
sleep 3
echo "clear"
echo "COMMANDS" >> /ROUTE/output_file.txt
echo exit
} | telnet 172.22.89.133
Neste caso estou recebendo o arquivo de saída preenchido com o comando, mas obviamente eu preciso do resultado desse comando. Eu sei que é um pouco bobo, mas eu tenho tentado de várias maneiras e ainda estou recebendo o mesmo resultado.
Como posso fazer isso?
Mova o >> /ROUTE/output_file.txt
de onde está agora para a linha de telnet, para que a linha se torne } | telnet 172.22.89.133 >> /ROUTE/output_file.txt