Bash命令退出TL1终端

时间:2015-07-08 22:14:30

标签: linux bash

我有一个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 

2 个答案:

答案 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。期望有更多的可能性(特别是它可以对另一方回复的内容作出反应,限制脚本运行时的可能性等),并且在互联网上有数百个好的参考,但这应该让你开始。