Unix 在不使用spawn/expect/send命令的情况下自动化Telnet

Unix 在不使用spawn/expect/send命令的情况下自动化Telnet,unix,login,automation,sleep,telnet,Unix,Login,Automation,Sleep,Telnet,我以前确实问过这个问题,但由于问题含糊不清,所以这条线索被关闭了。下面是try#2: 我希望有一个简单的脚本,通过telnet连接到远程机器,然后执行ZAHO命令,然后将输出存储在本地机器上的文件cat.txt。以下是我尝试的代码: (echo "PPATIL"; sleep 1 ; echo "IDEA@2010" ; sleep 1;) |telnet 10.110.3.132 23<< EOF ZAHO; > cat.txt EOF 然而,在这种情况下,远程机器连接

我以前确实问过这个问题,但由于问题含糊不清,所以这条线索被关闭了。下面是try#2:

我希望有一个简单的脚本,通过telnet连接到远程机器,然后执行ZAHO命令,然后将输出存储在本地机器上的文件
cat.txt
。以下是我尝试的代码:

(echo "PPATIL"; sleep 1 ; echo "IDEA@2010" ; sleep 1;) |telnet 10.110.3.132 23<< EOF

ZAHO; > cat.txt

EOF
然而,在这种情况下,远程机器连接起来,它向我显示用户名提示,输入用户名,然后显示密码提示,然后输入密码,休眠一秒钟,然后在密码后面加上“ZAHO;”,然后断开连接

如果我删除
echo ZAHO
然后在输入用户名和密码后,它会断开连接。

通常:

cmd | cmd2 << EOF
EOF

cmd | cmd2如果您不限于shell脚本。有一个
在它的标准库中。实际上,图书馆文档页面上给出的示例与您想要的非常接近


Python可能不像shell那样无处不在,但它被广泛部署和使用。

ok,伙计们,我成功登录了。我所做的更改是在我的密码后面加了一个\r。但唯一剩下的就是写下命令“ZAHO;”。这仍然没有发生。您可能还想尝试在ZAHO命令之后添加\r。是@Marc:D。。谢谢。。。我已经猜到了。。而且我不得不推迟10秒。。长指令显然是的。。我只有一个遗憾:(…无论如何,谢谢你花时间回答:D
cmd | cmd2 << EOF
EOF
{ cmd1; cat << EOF; } | cmd2
input 
EOF