bash脚本中的telnet自动断开连接
当我运行下面的脚本时,它连接服务器,但在发送命令之前断开连接。我怎样才能解决这个问题bash脚本中的telnet自动断开连接,bash,shell,telnet,Bash,Shell,Telnet,当我运行下面的脚本时,它连接服务器,但在发送命令之前断开连接。我怎样才能解决这个问题 #!/bin/bash /usr/bin/expect << EOD spawn telnet 31.168.109.31 sleep 2 expect ">" sleep 1 send "my_password" send "\n" sleep 1 interact 根据您的代码,您希望在密码之前使用>。我不明白它的目的是什么,但对于一些示例脚本,请看这里。这可能不是答案,但可能对你有
#!/bin/bash
/usr/bin/expect << EOD
spawn telnet 31.168.109.31
sleep 2
expect ">"
sleep 1
send "my_password"
send "\n"
sleep 1
interact
根据您的代码,您希望在密码之前使用>。我不明白它的目的是什么,但对于一些示例脚本,请看这里。这可能不是答案,但可能对你有帮助
#!/bin/bash
/usr/bin/expect << EOD
set timeout 200
spawn telnet 31.168.109.31
expect "login:"
send "root\r"
expect "password"
send "mypassword\r"
expect "root#"
#rest of your logic what you want.
在生成之前,请尝试添加超时,如设置超时200i。我会尝试。。但结果不会改变。。登录该ip并立即断开连接..同时删除spawn和expect之间的睡眠,以及expect和send password之间的睡眠。发送密码后您还希望看到什么?我删除您说的“睡眠步骤”。。但我在控制台中看不到想要的结果。。此外,我希望在发送密码后>设置超时200为什么会有???@user3523492,因此如果telnet提示符上没有找到任何活动,它将在200秒后超时。@user3523492无法连接意味着什么?是否能够ping实验室IP?“telnet IP”评论有效/。。“发送密码”命令后,将密码打印到屏幕上;然后断开ip“telnet ip”后。。我能告诉你吗?@user3523492是的。但在发送密码后,你在做什么或期待什么?