Mikrotik Script在终端中运行完美但在放入脚本时不会运行

时间:2016-02-07 01:15:32

标签: scripting mikrotik

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

\n /r/脚本版本:

{\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}

正常版本:

: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

但是当放入脚本然后单击运行按钮或计划运行时,这些都不起作用。!

1 个答案:

答案 0 :(得分:1)

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

:local nsm2tx [/ip neighbor get [find mac-address="68:72:51:34:AA:03"] address];
/ip firewall nat set 10 to-addresses="$nsm2tx"
相关问题