ros 脚本详细解释.doc_第1页
ros 脚本详细解释.doc_第2页
ros 脚本详细解释.doc_第3页
ros 脚本详细解释.doc_第4页
ros 脚本详细解释.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

因为下面这个问题,我觉得脚本详细解释也许对大家有用处,决定把以前网络时候找的资料发上来,希望对大家有用处applesgg-gatewy :put (/ip firewall address-list get 0 address & ) . /24)/24这样使用put可以实现把和/24结合成一个整体但是怎么样把这个新的值/24赋给一个变量呢,set不能完成,谁有好的建议或者意见我准备做的是通过vpn客户端的访问源地址,自动添加/ip route rule里面的数据现在可以自动把8这样的具体ip自动添加,但是我想根据这个ip然后自动添加一个标准c段applesgg-gatewy :environment print Global VariablesLocal Variablesapplesgg-gatewy :put (/ip firewall address-list get 0 address & ) . /24)/24applesgg-gatewy :global testipapplesgg-gatewy :put $testipapplesgg-gatewy :set testip /24applesgg-gatewy :put $testip /24applesgg-gatewy :set testip :put (/ip firewall address-list get 0 address & ) . /24) /24applesgg-gatewy :put $testip applesgg-gatewy :set testip :put (/ip firewall address-list get 0 address & ) . /24)applesgg-gatewy :put $testip :put (/ip firewall address-list get 0 address & ) . /24)applesgg-gatewy :set testip (:put (/ip firewall address-list get 0 address & ) . /24) /24applesgg-gatewy :put $testip applesgg-gatewy :environment print Global VariablesLocal Variablestestip=现在的需要解决的是,使用什么方法,或者用别的命令来实现把连接好了的新数字赋给testip这个变量直接脚本里面写dst-address=:put (/ip firewall address-list get 0 address & ) . /24)也是无效的的,测试过了的用put,直接输出了,不能完成赋值不用put,不能连接两个字段大家一起思考思考,先表示感谢:foreach i in=/ip firewall address-list find list=telvpn-stable do=/ip route rule add dst-address=(/ip firewall address-list get $i address & ) . /24) table=tel action=lookup disabled=no comment=telvpn add by lcnjas auto script src-address=/0呵呵,自己搞定了-RouterOS2.96脚本详解四种变量global - 定义全局变量, 可以要所有的脚本中调用共享local - 定义本地变量,只能在其所要的脚本下调用,不能被其它脚本共享loop index variables - 定义在for或foreach里的索引号变量monitor variables - 监视变量ROS算术操作- 负号;相减。! 逻辑非。/ 相除。. 连接。两个符串的连接,添加元素到列表 异或(XOR) 取反* 相剩& 与(AND)& 逻辑与+ 相加 小于 向左位移 大于= 大于等于 向右位移| 或| 逻辑或ROS说明书里的例子:计算顺序 adminMikroTik :put (10+1-6*2=11-12=2+(-3)=-1)falseadminMikroTik :put (10+1-6*2=11-12=(2+(-3)=-1)true逻辑非 adminMikroTik :put (!true)falseadminMikroTik :put (!(23)true数位取反 adminMikroTik :put ()55加法 adminMikroTik :put (3ms + 5s)00:00:05.003adminMikroTik :put (5 + )cannot add ip address to ip addressadminMikroTik :put (5 + 10)5减法 adminMikroTik :put (15 - 10)5adminMikroTik :put (5 - )12adminMikroTik :put (5 - 12)adminMikroTik :put (15h - 2s)14:59:58乘法 adminMikroTik :put (12s * 4)00:00:48adminMikroTik :put (-5 * -2)10除法 adminMikroTik :put (10s / 3)00:00:03.333adminMikroTik :put (5 / 2)2adminMikroTik :put (0:0.10 / 3)00:00:02比较 adminMikroTik :put ( :put (100000s27h)trueadminMikroTik :put (60s,1d!=1m,3600s)trueadminMikroTik :put (bridge=routing)falseadminMikroTik :put (yes=false)falseadminMikroTik :put (true=aye)false逻辑与 AND, 逻辑或 OR adminMikroTik :put (yes & yes) | (yes & no)trueadminMikroTik :put (no | no) & (no | yes)false数位与AND, 或OR, 异或XOR adminMikroTik :put (34 & )34位移操作 adminMikroTik :put ( :put (1 . 3)13adminMikroTik :put (1,2 . 3)1,2,3adminMikroTik :put (1 . 3,4)13,4adminMikroTik :put (1,2 . 3,4)1,2,3,4adminMikroTik :put (1 . 3) + 1)14adminMikroTik :set a Its adminMikroTik :put ($a . OK)Its OKROS脚本保留字beep execute global list pick time toip typeofdelay find if local put toarray tonum whiledo for led log resolve tobool tostrenvironment foreach len nothing set toid totime声音和警报:beep length=2s frequency=10000产生2秒10kHz的音频length缺省值为100msfrequency缺省值为1000Hzexecute调用其他命令或者脚本:set a /int dis lann/int dis wan:execute $a执行多条命令,例子里执行了两条命令。n是换行:global定义全局变量的使用:list interface显示相关命令。显示当前目录及子目录下有关interface的命令:pick 数组和字串的截取取字符串或数组的某一断。字符串(数组)的第一个为0。adminMikroTik:put :pick I love you 2 6love:time 计算命令执行所用时长执行命令所需的时间adminMikroTik :put :time :resole 00:00:00.006执行解析这个域名所需的时间数据类型转换toip toarray tonum tobool tostr toid totime转换值类型延迟 多少秒:delay 3延时3秒,缺省为1秒:find 查找功能查找字符串或数组中第一个出现查找内容的位置adminMikroTik:put :find abcdcba cd2adminMikroTik:put :find 1,2,3,4,3,2,1 21:put 屏幕输出输出到屏幕上,上面就很多例子了。:if 条件判断条件选择adminMikroTik:if(1:if(12) do=:put true else=:put flaseflase如果条件为真,执行do=里面的命令,否则执行else=里有命令/hide:local 局部变量的使用定义本地变量:local myip局部变量只能在某个脚本或者命令行使用,其他的脚本或者命令行不能调用:while 循环条件为真时循环执行do=里的脚本命令adminMikroTik:set i 0;:while($i :put :resolve 40:environment print显示所有变量及其值:len字符串或数组的长度 adminMikroTik :put :len hello5adminMikroTik :put :len 1,2,23,65,54,66:nothing空值。nothing不等0,不等于空字符:find abc a的结果是0:find abc d的结果是nothing:set赋值 adminMikroTik :set a test将abc字符赋给变量aadminMikroTik :put $atestadminMikroTik :put aa变量的引用引用变量的值要在变量前面加$如下applesgg-gatewy :environment print Global VariablesLocal Variables我们先查看一下环境,显示没有如何的全局或者局部变量applesgg-gatewy :global testip我们定义一个全局变量applesgg-gatewy /ip firewall address-list print Flags: X - disabled, D - dynamic # LIST ADDRESS 0 D telvpn 28 1 telvpn-stable 28 查看一下address-list有没数据,因为我们下面使用序号查询了,所有首先需要使用pr命令显示一下,要不回失败,也可以不按序号查就可以不需要这个 applesgg-gatewy :set testip (/ip firewall address-list get 0 address & ) . /24)使用set对testip变量赋值,上面是个复制的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论