我在 RB493G 上安装了 RouterOS 5.14。我需要编写脚本来启动
/tool fetch ...
执行 fetch 可能会出错,这没关系(URL 有时可能不可用)。脚本因出错而挂起。有什么方法可以忽略它吗?
解决方案:
[admin@Mikrotik] >> /system script
0 name=safe-fetch source=
:global done
:global url
/tool fetch $url
:Set done=true
1 name=test source=
:global done
:global url="google.com"
:set done false
:execute safe-fetch
:local counter 0
:while ( $done != true && $counter < 10 ) do={
:set counter ($counter+1)
:delay 0.2
}
if ($done = "true") do={
:put "Fetch OK"
} else={
:put "Fetch ERROR"
}
警告:未记录使用“:execute”。
答案1
答案2
自 RouterOS v6.2 起更新
您现在可以创建一个do
带有错误处理程序的块:
:do {
/tool fetch $url
:put "Fetch OK"
} on-error={ :put "Fetch ERROR"};