目录
继续讲ros脚本,本章讲ros循环语句和条件语句,它们使用的频率很高。
一、循环语句
ros循环语句有do...while、for、foreach,如下表所示:
命令 语法 说明 do..while
:do { <命令> } while=( <条件> );
:while ( <条件> ) do={ <命令> };
上面是2种写法执行命令直到满足给定条件。 for :for <变量> from=<整数> to=<整数> step=<整数> do={ <命令> }在给定的迭代次数上执行命令 foreach :foreach <变量> in=<数组> do={ <命令> };对列表中的每个元素执行命令
用得比较多的还是for和while循环,比如批量操作,比如说我们在《实验实例pppoe配置》的基础上再创建10个账号pppoe,用户名:从t1到t10,密码为hua1到hua10,配置pppoe1,可以写成
# 下面中 ("t".$i) 的小括号不能少, t的双引号也不能少,字符串要括起来
:for i from=1 to=10 do={ ppp secret add name=("t".$i) password=("hua".$i) profile=pppoe1}
上面我没有写step,则默认为1。效果为:

其它的就不讲了,差不多的
二、if条件语句
条件语句一般都是if语句,主要是做判断,符合条件就执行。如下表所示:
| Command | Syntax | Description |
|---|---|---|
| if | :if (<条件>) do={<命令>} else={<命令>} <语句> | 如果给定条件为真,则在do块中执行命令,否则如果指定则在else块中执行命令。 |
这处if条件写的时候要注意空格的问题,要不很容易出错。
我的ros6.47版本,小括号左右是要留空格的, “do=”不能有空格。比如我要判断p1用户是不是在线,如果在线的话,在线时长是多少,这个好计费啊,语句如下:
# 创建一个名为t1的脚本,添加如下内容
:local userid [/ppp active find name=p11]
if ($userid) do={\
:put [/ppp active get value-name=uptime number=$userid]
} else={ :put "not found" }
#执行脚本t1,打印出在线时间,发现为2小时06分50秒
[hua@MikroTik] > /system script run t1
02:06:50

本文介绍了ROS系统中常用的循环语句(包括do...while、for、foreach)及条件语句(if)。详细讲解了这些语句的语法及实际应用场景,并通过示例展示了如何使用这些语句来实现批量操作和条件判断。
:循环语句和条件语句&spm=1001.2101.3001.5002&articleId=110285479&d=1&t=3&u=d45ffc0a0c1d4341a8895c9d79f2731b)
1004

被折叠的 条评论
为什么被折叠?



