Mikrotik ROS脚本语法入门

所属分类: 网络 / 路由器 阅读数: 1683
收藏 0 赞 0 分享

ROS也可称为是Route Operation System,意为"软件路由器".

一般认为用普通PC安装一套专用的路由器程序组成的系统称为软件路由器,PC电脑+免费的软件=专业的软件路由器

ROS 脚本 注解
四种变量
global - 定义全局变量, 可以要所有的 脚本 中调用共享
local - 定义本地变量,只能在其所要的 脚本 下调用,不能被其它 脚本 共享
loop index variables - 定义在for或foreach里的索引号变量
monitor variables - 监视变量
ROS算术操作
- 负号;相减。
! 逻辑非。
/ 相除。
. 连接。两个符串的连接,添加元素到列表
^ 异或(XOR)
~ 取反
* 相剩
& 与(AND)
&&逻辑与
+ 相加
< 小于
<<向左位移
<=小于等于
> 大于
>=大于等于
>>向右位移
| 或
||逻辑或
ROS说明书里的例子:
计算顺序
[admin@MikroTik]> :put (10+1-6*2=11-12=2+(-3)=-1)
false
[admin@MikroTik]> :put (10+1-6*2=11-12=(2+(-3)=-1))
true
逻辑非
[admin@MikroTik]> :put (!true)
false
[admin@MikroTik]> :put (!(2>3))
true
数位取反
[admin@MikroTik]> :put (~255.255.0.0)
0.0.255.255
加法
[admin@MikroTik]> :put (3ms + 5s)
00:00:05.003
[admin@MikroTik]> :put (10.0.0.15 + 0.0.10.0)
cannot add ip address to ip address
[admin@MikroTik]> :put (10.0.0.15 + 10)
10.0.0.25
减法
[admin@MikroTik]> :put (15 - 10)
5
[admin@MikroTik]> :put (10.0.0.15 - 10.0.0.3)
12
[admin@MikroTik]> :put (10.0.0.15 - 12)
10.0.0.3
[admin@MikroTik]> :put (15h - 2s)
14:59:58
乘法
[admin@MikroTik]> :put (12s * 4)
00:00:48
[admin@MikroTik]> :put (-5 * -2)
10
除法
[admin@MikroTik]> :put (10s / 3)
00:00:03.333
[admin@MikroTik]> :put (5 / 2)
2
[admin@MikroTik]> :put (0:0.10 / 3)
00:00:02
比较
[admin@MikroTik]> :put (10.0.2.3<=2.0.3.10)
false
[admin@MikroTik]> :put (100000s>27h)
true
[admin@MikroTik]> :put (60s,1d!=1m,3600s)
true
[admin@MikroTik]> :put (bridge=routing)
false
[admin@MikroTik]> :put (yes=false)
false
[admin@MikroTik]> :put (true=aye)
false
逻辑与 AND, 逻辑或 OR
[admin@MikroTik]> :put ((yes && yes) || (yes && no))
true
[admin@MikroTik]> :put ((no || no) && (no || yes))
false
数位与AND, 或OR, 异或XOR
[admin@MikroTik]> :put (10.16.0.134 & ~255.255.255.0)
0.0.0.134
位移操作
[admin@MikroTik]> :put (~((0.0.0.1 << 7) - 1))
255.255.255.128
连接操作
[admin@MikroTik]> :put (1 . 3)
13
[admin@MikroTik]> :put (1,2 . 3)
1,2,3
[admin@MikroTik]> :put (1 . 3,4)
13,4
[admin@MikroTik]> :put (1,2 . 3,4)
1,2,3,4
[admin@MikroTik]> :put ((1 . 3) + 1)
14
[admin@MikroTik]> :seta "It's "
[admin@MikroTik]> :put ($a . OK)
It's OK
ROS 脚本 保留字
beep execute global list pick time toip typeof
delay find if local put toarray tonum while
do for led log resolve tobool tostr
environment foreach len nothing set toid totime
:beep length=2s frequency=10000
产生2秒10kHz的音频
length缺省值为100ms
frequency缺省值为1000Hz
:set a "/int dis lan/n/int dis wan"
:execute $a
执行多条命令,例子里执行了两条命令。/n是换行
:global
定义全局变量
:list interface
显示相关命令。显示当前目录及子目录下有关interface的命令
:pick
取字符串或数组的某一断。字符串(数组)的第一个为0。
[admin@MikroTik]>:put [:pick "I love you" 2 6]
love
:time
执行命令所需的时间
[admin@MikroTik]> :put [:time [:resole www.sina.com.cn]]
00:00:00.006
执行解析www.sina.com.cn这个域名所需的时间
toip toarray tonum tobool tostr toid totime
转换值类型
:delay 3
延时3秒,缺省为1秒
:find
查找字符串或数组中第一个出现查找内容的位置
[admin@MikroTik]>:put [:find abcdcba cd]
2
[admin@MikroTik]>:put [:find "1,2,3,4,3,2,1" 2]
1
:put
输出到屏幕上,上面就很多例子了。
:if
条件选择
[admin@MikroTik]>:if(1<2) do={:put true}
true
如果条件为真,执行do={}里面的命令
[admin@MikroTik]>:if(1>2) do={:put true} else={:put flase}
flase
如果条件为真,执行do={}里面的命令,否则执行else={}里有命令
:local
定义本地变量
:while
条件为真时循环执行do={}里的 脚本 命令
[admin@MikroTik]>:set i 0;:while($i<5) do={:put $i;:set i ($i+1)}
0
1
2
3
4
5
:for
循环执行do={}里的 脚本 命令
:for i from=1 to=100 step=30 do={:put $i}
1
31
61
91
:foreach
在集合(数组)里循环执行do={}里的 脚本 命令
:foreach i in=[/interface find type=ether] do={:put [/interface get $i name]}
ether1
ether2
ether3
ether4
在[/interface find type=ether]的集合(类型为ether的interface ID)循环输出
interface的名称。我这时有四张网卡
:log 日志类型 日志内容
写文本到日志(script log)
类型在/system logging里可以找到
:log info "系统信息"
到LOG里查查运行结果吧
:resolve
解析域名的IP地址
[admin@MikroTik] > :put [:resolve www.sina.com.cn]
61.172.201.240
:environment print
显示所有变量及其值
:len
字符串或数组的长度
[admin@MikroTik] > :put [:len hello]
5
[admin@MikroTik] > :put [:len "1,2,23,65,54,6"]
6
:nothing
空值。nothing不等0,不等于空字符""
:find abc a的结果是0
:find abc d的结果是nothing
:set
赋值
[admin@MikroTik] > :set a test
将abc字符赋给变量a
[admin@MikroTik] > :put $a
test
[admin@MikroTik] > :put a
a
引用变量的值要在变量前面加$

更多精彩内容其他人还在看

TP-LINK无线路由器MAC地址过滤设置图文教程

这篇文章主要介绍了TP-LINK无线路由器MAC地址过滤设置图文教程,本文介绍了无线网络MAC地址过滤的设置方法,即无线MAC地址过滤的设置方法,需要的朋友可以参考下
收藏 0 赞 0 分享

优酷路由宝一天能赚多少个金币?值多少钱?

如何查看优酷路由宝赚到的金币,一天能赚多少?优酷路由宝,绑定好账号后可以为你赚金币了,很多人好奇,优酷路由宝一天能赚多少金币,下面我们一起来看看吧
收藏 0 赞 0 分享

双频路由器是什么意思?双频路由器介绍

这篇文章主要介绍了双频路由器是什么意思?双频路由器介绍,双频无线路由器已成为未来无线设备的主流方向,本文着重讲解了它的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

双频wifi是什么意思?双频wifi技术介绍

这篇文章主要介绍了双频wifi是什么意思?双频wifi技术介绍,双频WiFi指得是一台无线设备(无线路由器、无线AP等)同时提供了2.4GHz和5GHz两个频段的无线WiFi信号,其属于第五代Wi-Fi传输技术,需要的朋友可以参考下
收藏 0 赞 0 分享

路由器是什么东西?路由器是干什么用的?

这篇文章主要介绍了路由器是什么东西?路由器是干什么用的?本文讲解了什么是路由器,路由器有哪些用,路由器的分类等,需要的朋友可以参考下
收藏 0 赞 0 分享

AC路由器是什么意思?AC路由器知识介绍

这篇文章主要介绍了AC路由器是什么意思?AC路由器知识介绍,本文将简单的介绍什么是AC路由器,路由器的相关知识介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

号称别墅级穿墙王的极路由3安装设置示意图

极路由3号称是别墅级穿墙王,极路由3怎么安装设置,你知道吗?下面是极路由3安装设置方法图文详解,需要的朋友可以尝试操作下
收藏 0 赞 0 分享

3g路由器是什么意思?3g路由器知识介绍

这篇文章主要介绍了3g路由器是什么意思?3g路由器知识介绍,3g路由器是干什么用的,需要的朋友可以参考下
收藏 0 赞 0 分享

优酷路由宝的怎么设置的更有个人特色和人性化?

优酷路由宝的怎么设置的更有个人特色和人性化?这款路由器,除了安装使用方便外,还具有自己的特色和很有意思的设置。下面我们一起来看看吧
收藏 0 赞 0 分享

路由器里的WPS是什么意思?WPS功能怎么用?

这篇文章主要介绍了路由器里的WPS是什么意思?WPS功能怎么用?,本文讲解了WPS的相关知识以及使用方法图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多