【问题标题】:Telnet by using Shellscript (OSX) with Expect通过使用带有 Expect 的 Shellscript (OSX) 进行 Telnet
【发布时间】:2017-06-20 09:30:31
【问题描述】:

我想通过 telnet 连接一台机器。尝试使用 Expect 不起作用。没有用户名和密码。这就是我所在的位置。

#!/usr/bin/expect -f

Echo Hello World
telnet IP_Address_Here 10001

expect "]'."
send "^a200\r"

这符合“预期”。这是代码的结果...

Roberts-MacBook:~ rameeti$ sh test.sh
Hello World
Trying IP_Address_Here...
Connected to IP_Address.lightspeed.irvnca.sbcglobal.net.
Escape character is '^]'.

然后它等待我要发送的命令:“^a200” 为什么“期望”不起作用?

【问题讨论】:

    标签: macos shell telnet


    【解决方案1】:

    我猜你是用bash 而不是expect 执行它。

    否则,您将收到

    invalid command name "Echo"
        while executing
    "Echo Hello World"
    

    试试

    $ expect -f test.sh
    

    顺便说一句,你不应该把它命名为.sh,如果它是预期的。

    【讨论】:

    • 在删除 Echo 行后,我尝试使用您的“期望...”建议调用我的脚本。然后它对我的 Telnet 命令咆哮,所以我在 Telnet 前面添加了 Spawn,它更喜欢这样。但是现在,在连接并给我连接响应之后,它会立即退出 Telnet 并带我回到我的命令提示符。它显然不喜欢 Expect 或 Send。想法?
    猜你喜欢
    • 2015-12-10
    • 1970-01-01
    • 2015-07-26
    • 2019-01-01
    • 2011-11-13
    • 2011-08-21
    • 2017-01-08
    • 1970-01-01
    • 2016-05-25
    相关资源
    最近更新 更多