Search code examples
linuxbashshelltelnet

Automated telnet using shell with output logging


I would like to write a automated script to open telnet session and run some commands. The thing is, that this will be some kind of "logging", so i have to open pipe, and send some commands, and store outputs. I know, how to do this in a while loop like:

(while true
do
echo ${user}
    sleep 1
echo ${pass}
    sleep 1
echo ${something}
    .
    .
done)|telnet ${IP}

The problem here is that the telnet pipe is opened/closed in every loop and i want to achieve to open it at the beginning, and then send commands in a loop until some conditions are true.

NOTE: i am limited with commands as i am working with emb.system (such as spawn, expect, etc...)

Thanks for your help ! :)

BR.


Solution

  • Does this work for you?

    (echo ${user}
        sleep 1
     echo ${pass}
        sleep 1
     while true; do
        echo ${something} | tee -a /tmp/logfile.txt
        .
        .
     done
     echo "exit") | telnet ${IP} | tee -a /tmp/logfile.txt