我正试图编写一个脚本,以通过telnet从运行OS 10.11的Mac到旧式嵌入式设备发送一个简单的文本字符串(rprst 2 $ 0D)。不能使用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.