首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mikrotik脚本在终端中运行完美,但在脚本中运行时不运行

Mikrotik脚本在终端中运行完美,但在脚本中运行时不运行
EN

Stack Overflow用户
提问于 2016-02-07 01:15:31
回答 1查看 4.9K关注 0票数 0

我试图将一个脚本添加到列表中,以便安排它在间隔的基础上运行,但是当我将它放在脚本中时,它就不能工作了,并且当我在Mikrotik的终端中手动执行脚本时,它是不工作的。我尝试过这两个版本的脚本:

\n /r/脚本版本:

代码语言:javascript
复制
{\r\
\n:global NSM2 [/ip neighbor find mac-address="68:72:51:34:AA:03"];/r/
\n:foreach i in=$NSM2 do={/r/
\n:global nsm2tx [/ip neighbor get $i address];/r/
\n}/r/
\n/ip firewall nat set 11 to-address=$nsm2tx/r/
\n:global NSM2 [/ip neighbor find mac-address="68:72:51:32:11:60"];/r/
\n:foreach i in=$NSM2 do={/r/
\n:global nsm2rx [/ip neighbor get $i address];/r/
\n}/r/
\n/ip firewall nat set 10 to-addresses=$nsm2rx/r/
\n}

正常版本:

代码语言:javascript
复制
:global NSM2 [/ip neighbor find mac-address="68:72:51:34:AA:03"];
:foreach i in=$NSM2 do={
:global nsm2tx [/ip neighbor get $i address];
}
/ip firewall nat set 11 to-address=$nsm2tx

:global NSM2 [/ip neighbor find mac-address="68:72:51:32:11:60"];
:foreach i in=$NSM2 do={
:global nsm2rx [/ip neighbor get $i address];
}
/ip firewall nat set 10 to-addresses=$nsm2rx

但是,当将它们放在脚本中,然后单击“运行”按钮或计划运行时,所有这些都不能工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 09:21:36

脚本背后的想法是正确的,但语法却不正确;Mikrotik脚本语言非常挑剔,所以我回顾了它,下面是一个工作版本:

代码语言:javascript
复制
:local nsm2tx [/ip neighbor get [find mac-address="68:72:51:34:AA:03"] address];
/ip firewall nat set 10 to-addresses="$nsm2tx"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35248612

复制
相关文章

相似问题

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