我有一个bash脚本telnet到系统的TL1终端并执行命令但是如何退出TL1终端?
我已经尝试退出并退出,但它无法正常工作。通常情况下,如果我手动登录到TL1术语,我会按CTRL + C,这样可以正常工作;但是我如何自动化这个过程呢?
#!/bin/bash
(
echo "ACT-USER::ROOT:D::ROOT;"
echo "^C"
echo "quit"
echo "exit"
) | telnet 192.168.1.1
echo "done"
exit
答案 0 :(得分:0)
不确定答案是否仍然相关,也可能是系统特定的,但我使用
回声"注销;"在我的情况下
命令,它的工作原理是因为我的终端支持它。如果它也不起作用,您需要查看设备文档以获取相关的注销命令,
答案 1 :(得分:-1)
expect,一个脚本交互式程序的工具,它是大多数Linux发行版的一部分,可能有所帮助。将需要一些摆弄,但基本上它是这样的:
#!/usr/bin/expect -f
spawn telnet 192.168.1.1
send "ACT-USER::ROOT:D::ROOT;\r"
send \003
将启动telnet到主机并发送命令字符串,然后发送control-c。期望有更多的可能性(特别是它可以对另一方回复的内容作出反应,限制脚本运行时的可能性等),并且在互联网上有数百个好的参考,但这应该让你开始。