Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash脚本中的telnet自动断开连接_Bash_Shell_Telnet - Fatal编程技术网

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是的。但在发送密码后,你在做什么或期待什么?