使用 shell 和输出日志记录的自动 telnet

Automated telnet using shell with output logging

我想编写一个自动脚本来打开 telnet 会话和 运行 一些命令。问题是,这将是某种 "logging",所以我必须打开管道,发送一些命令,并存储输出。我知道,如何在 while 循环中执行此操作,例如:

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

这里的问题是telnet管道在每个循环中都是opened/closed,我想实现一开始就打开它,然后循环发送命令,直到某些条件为真。

注意:我在使用 emb.system 时受限于命令(例如 spawn、expect 等...)

感谢您的帮助! :)

BR。

您可以使用 sshpass 软件。 http://sourceforge.net/projects/sshpass/

tar -zxvf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make && make install

..............

这对你有用吗?

(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