没有合适的资源?快使用搜索试试~ 我知道了~
首页ROS中文Script脚本手册.doc
ROS中文脚本手册,主要应用于做ROS自动化脚本,可以配合ROS脚本生成器 2.2 等2.0 生成脚本后,添加到ROS 中,在在ROS中进行修改。 注明: 这个不是ROS 配置手册,这个是ROS脚本开发和写脚本用的,新手请识别一下,不要下载了骂人。也许25页的资料还未能足够完善你想实现的功能,这里的这个文档,主要解释和应用的中文版解释。
资源详情
资源评论
资源推荐

ROS 中文脚本手册[part1]
地址 : http://www.mikrotik.com/
感谢其为我们带来功能如此强大的代理服务器端
主要信息
----------------
◇总括
本手册对 ROS 脚本语言进行基本的介绍。
脚本提供了一种可以在路由器上自动进行因一些事件的发生而执行用户所定义
的维护任务。脚本是由配置指令和表达式[ICE - 控制台指令与表达式]所组成。
配置指令是 ROS 的标准指令,例如{/ip rewall lter add chain=forward
protocol=gre action=drop},这些指令可以在相关手册中查询,当表达式
以":"为前缀的话它将在应用于所有的子项中。
事件的出现可以触发脚本的执行,并且不仅仅限制于系统调用,Tra'c
Monitorin 工具和 Netwatch 工具都可以生成事件。
◇本文应用环境
ROS 组件要求:system
最低许可:Level1
子目录:/system script
遵循标准和技术:无
硬件需求:无特殊要求
◇相关文档
◆Software Package Management
◆System Scheduler
◆Network Monitor
◆Tra'c Monitor
◆Serial Port Monitor
控制台指令语法
----------------
◇总体描述
控制台指令由以下部分所组成:
◆前缀 - 指出以个指令是否以个 ICE[控制台指令与表达式],例如:自根目录开
始的路径指令"/"

[admin@MikroTik]ip rewall mangle>/ping 10.0.0.1
◆路径 - 以个需求目录等级的相关路径,例如{.. lter}
[admin@MikroTik]ip rewall mangle>.. lter print
◆路径参数 - 此部分需要选取一些目录,因为实际路径将由不同用户的输出所
组成,例如{mylist}
[admin@MikroTik]ip rewall mangle>/routeing prex-list list mylist
◆动作 - 在特别的目录中需要至少以个动作,例如{add}
[admin@MikroTik]ip rewall mangle>/ip rewall lter add
chain=forward action=drop
◆不定参数 - 这些参数是由一些动作所要求,置于动作指令之后的操作参数,
例如{10.0.0.1}
[admin@MikroTik]ip rewall mangle>/ping 10.0.0.1
◆名称[=值] - 一个已定义的参数,后面跟相关的值,例如{ssid=myssid}
/interface wireless set wlan1 ssid=myssid
注意:变量替换,指令替换和表达式仅仅支持路径参数和不定参数必须直接给
出,因此,{:put (1 + 2)}可行而{:("pu" . "t")}不可行。
◇案例
内部控制台指令一般以下面的形式出现:
◆/ping 10.0.0.1 count=5
|前缀 /
|动作 ping
|不定参数 10.0.0.1

|名称[=值] count=5
◆.. ip rewall rule input
|路径 ..ip rewall rule
|路径参数 input
◆:for i from=1 to=10 do={:put $1}
|前缀 :
|动作 for
|不定参数 i
|名称[=值] from=1 to=10 do={:put $1}
◆/interface monitor-tra'c ether1,ether2,ipip1
|前缀 /
|路径 interface
|动作 monitor-tra'c
|不定参数 ether1,ether2,ipip1
表达式
----------------
◇总体描述
这一节将提供一种用一个长指令来执行指令的方式,将其封入大括号"{}"内。
注意:在原文中提出一个指令继承的问题,先看例子。
[admin@MikroTik] ip route> /user {
{... /ip route
{... print}
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf
# DST-ADDRESS PREF-SRC G GATEWAY DISTANCE INTERFACE
0 ADC 10.0.0.0/24 10.0.0.1 LAN
1 ADC 192.168.0.0/24 192.168.0.68 WAN2
2 DC 192.168.0.0/24 192.168.0.69 WAN1
3 A S 0.0.0.0/0 r 192.168.0.200 WAN2
在原文中描述此指令的结果相当于{/user print},而我在 2.9.27 上测试此指
令的结果相当于{/ip route print},现路径不变。
关于此我猜测可能是早期版本支持原文中说法,而 2.9.27 是采用我测试的方式,

即大括号内的指令为优先级指令,以下给出一个支持的例子。
[admin@MikroTik] ip route> /user
[admin@MikroTik] user> /ip route {
{... /user
{... print}
Flags: X - disabled
# NAME GROUP ADDRESS
0 ;;; system default user
admin full 0.0.0.0/0
1 x write 0.0.0.0/0
2 y
以下接个另外的例子,说明此方式的使用方式
[admin@MikroTik] ip route> /user {
{... add name=x password=y group=write
{... add name=y password=z group=read
{... print}
Flags: X - disabled
# NAME GROUP ADDRESS
0 ;;; system default user
admin full 0.0.0.0/0
1 x write 0.0.0.0/0
2 y read 0.0.0.0/0
变量
----------------
◇总体描述
ROS 脚本语言支持两类变量,全局变量(全系统范围)和本地变量(仅仅在所在脚
本有效)。变量以"$"符号定义,后跟变量名。同时,也可以用{set}指令和
{unset}指令来代替"$"设置变量名。变量名可以由字母,数字和"-"符号所组
成,必须在使用前预先定义。有四种类型的声明可供使用。
◆global - 为 global 关键字所定义,全局变量能为所有脚本所用,也可以用于
在同一路由器中的所有控制台登陆。然而,全局变量重启后不保留。

◆loval - 为 local 关键字所定义,本地变量不能与别的脚本共享,不能用于相
同脚本的别的接口或者别的控制台登陆。本地变量的值将在脚本完成工作后消
失。
◆loop index variables - 为 for 和 foreach 所定义,这些变量存在于 do 循环
中并且当 do 指令完成时消失。
◆monitor variables - 一些带有 do 部分的 monitor 指令可以引进这样的变量。
你能在 do 循环中加入{:environment print}来实现对此变量的监控。
同样,你也可以使用 set 指令来定义变量的新的值。但是这样做将使其丢失两
个不定参数:变量名和变量的新值,如果一个变量不再使用,可以使用
{:unset}指令来释放变量。如果你用此指令释放了本地变量,这个值将消失,
而你用此指令释放了全局变量,值将仍保留在路由器中,它只是不再为当前脚
本所用。
举例:
[admin@MikroTik] ip route> /
[admin@MikroTik] > :global g1 "this is global variable"
[admin@MikroTik] > :put $g1
this is global variable
[admin@MikroTik] >
指令替换和返回值
----------------
◇总体描述
如果一些控制台指令的输出在能符合别的指令的输入要求,这将是一件很有意
义的事。在 ROS 控制台中,这样的事情是通过从指令返回值来做到的。从指令
得到返回值,我们需要将其封装入方括号"[]"内。在方括号内的指令执行后,
将通过方括号得到指令执行的结果。这样的过程称为指令替换。
以下指令可以得到返回值,但也不仅仅限于此:
◆nd - 将返回一个特殊项目的条目
◆ping - 将返回成功 ping 达的次数
◆time - 将返回标准的时间值
◆incr 和 decr - 将返回一个变量的新值
◆add - 将返回新创造项目的数量
◇举例
剩余24页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论5