Bash 从mac在telnet中自动输入文本

Bash 从mac在telnet中自动输入文本,bash,macos,shell,telnet,Bash,Macos,Shell,Telnet,我正试图编写一个脚本,通过telnet将一个简单的文本字符串(rprst 2$0D)从运行OS 10.11的mac发送到一个传统的嵌入式设备。SSH不是一个选项。没有进入设备的密码 #!/usr/bin/expect -f telnet 172.16.1.10 sleep 1 expect "'^]'" sleep 1 echo RPRST 2 $0D 当我运行此命令时,系统将登录到telnet会话,然后停止。我可以输入[CTRL]+]然后退出,此时我会暂停1秒,然后执行以下操作: Conne

我正试图编写一个脚本,通过telnet将一个简单的文本字符串(rprst 2$0D)从运行OS 10.11的mac发送到一个传统的嵌入式设备。SSH不是一个选项。没有进入设备的密码

#!/usr/bin/expect -f
telnet 172.16.1.10
sleep 1
expect "'^]'"
sleep 1
echo RPRST 2 $0D
当我运行此命令时,系统将登录到telnet会话,然后停止。我可以输入[CTRL]+]然后退出,此时我会暂停1秒,然后执行以下操作:

Connection closed.
couldn't read file ""'^]'"": no such file or directory

"rprst 2 /Users/$USR/Desktop/my_script.shD"
我还尝试了一个标题 #!/bin/bash 并尝试系统而不是期望。我还尝试删除或更改我的睡眠时间,删除Expect行中的双引号。我尝试使用“spawn telnet”,但Mac告诉我spawn不是有效的命令。有人有什么想法吗

编辑:我一直在努力,但没有成功。我的最新尝试:

#!/bin/sh
{ echo "rprst 2 $0D"; sleep 1; echo "rprst 2 $0D"; sleep 1; } | telnet 172.16.1.10 23
终端给我的响应是:

Trying 172.16.1.10...
Connected to 172.16.1.10.
Escape character is '^]'.

telnet> ?Invalid command
telnet> Connection closed.

我在
expect
方面不是很好,但我认为你想要
send
而不是
echo
。尝试在StackOverflow搜索框中键入
[expect]send