首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用expect脚本通过telnet向mikrotik发送命令时出现问题

使用expect脚本通过telnet向mikrotik发送命令时出现问题
EN

Stack Overflow用户
提问于 2019-03-27 00:06:13
回答 1查看 1.2K关注 0票数 1

我的任务是创建自动脚本,它通过telnet向mikrotik路由器发送命令。我正在尝试创建"expect“脚本。

但是我被命令发送部分卡住了。独立登录运行良好(第一个代码),但当我添加另一个命令(第二个代码)时,控制台在密码(https://imgur.com/WqXjyUP)前停留了几秒钟,然后我得到图片中的输出:https://imgur.com/BR6a2q6

登录路由器的第一个代码。这个很好用。

代码语言:javascript
运行
复制
spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
interact;

下面是添加命令后的相同代码,我喜欢发送

代码语言:javascript
运行
复制
spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
expect "> ";
send "ip firewall filter add chain=forward src-address=34.54.32.33 action=log\r";
exit;

在没有expect的情况下使用脚本时,我得到了相同的输出,这是我在"expect“之前尝试过的。

代码语言:javascript
运行
复制
(
echo open "12.12.13.44"
sleep 2
echo "admin"
sleep 2
echo "admin"
sleep 2
echo "ip firewall filter add chain=forward src-address=34.54.32.33 action=log"
sleep 2
echo "exit"
) | telnet

PS。我使用的是Debian版本8和RouterOS 6.34.4

PPS。之前提到的网络设备是用于上传最终解决方案的,我有另一个路由器和计算机(Ubuntu18.10和RouterOS 6.44.1),在那里我尝试我的脚本和输出,这是我在图片中显示的,在我的路由器和计算机上。

如果您对我的问题有任何建议,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-28 19:34:17

我在https://wiki.mikrotik.com/wiki/Manual:Console_login_process#FAQ上找到了解决方案。在登录名后添加"+t“后,有问题的输出消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55361552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档