我正在使用Bash脚本自动化一些与telnet
相关的任务。
自动化后,用户将不需要与telnet
进行交互(也就是说,脚本将完全自动化)。
脚本大致如下:
# execute some commands on the local system
# access a remote system with an IP address: 10.1.1.1 (for example)
telnet 10.1.1.1
# execute some commands on the remote system
# log all the activity (in a file) on the local system
# exit telnet
# continue with executing the rest of the script
我遇到了两个问题:
如何从脚本中在远程系统上执行命令(无需人为干预)?
通过一些测试代码的经验,我发现当执行
telnet 10.1.1.1
命令时,telnet
进入交互会话,然后脚本中后续的代码会在本地系统上执行。那么,我该如何在远程系统上运行这些代码而不是在本地运行呢?我无法获取本地系统中
telnet
会话的日志文件。使用的标准输出重定向操作会在远程系统上创建一个副本(我不想复制操作来将日志复制到本地系统)。我该如何实现这个功能?
sleep
works like a dream ;-)” 的意思是“sleep
像做梦一样好用;-)”。句子中的表情符号表示开玩笑或者轻松愉快的情绪。句子中的“也加入了| tee /dev/tty |
,以在屏幕上显示完整的操作过程;-)”表示在命令中添加了这段代码以将会话记录在屏幕上。 - paluhecho -e "command\r";
。 - mf_exit 1
。 - Yash(echo "command" && echo && sleep 1) | telnet ${hostname} ${port}
,主要是因为第二个echo
。 - Trevor Boyd Smith