找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3657|回复: 5

[脚本] 脚本里的get 及find 及[]{}几个的用法理解---脚本的风采

[复制链接]
发表于 2007-3-19 09:04:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
最好有个例子说明..还有那个()[]{}这几个什么时候用到...大约是什么用法?

[ 本帖最后由 cracks 于 2007-11-4 12:44 编辑 ]
routeros
 楼主| 发表于 2007-3-19 09:09:26 | 显示全部楼层
:global aa
:set aa [/ip address get [/ip address find interface=wan1] address]
这时用:put $aa 输出的是带/xx 掩码的...
这个.要单单得到IP的话.有什么方法?
...
是不是用....:len先得出长度后...然后减去3位数   再用:pick这个取得从0到.刚才得到的长度....
就可以得出IP了~~
routeros
回复

使用道具 举报

发表于 2007-3-19 10:54:53 | 显示全部楼层
[:pick $aa 0 [:find $aa "/"]]
routeros
回复

使用道具 举报

发表于 2007-3-19 13:12:24 | 显示全部楼层
get 取得数据
如:/ip address get interface=lan address
取得interface=lan 的IP地址

find 是查找数据,并取得ID号,跟 :find是不同的
如:/interface find type=pppoe-out
查找类型为pppoe-out(ADSL拔号就是pppoe-out类型),并返回ID
如果你有多个pppoe-out(多wan),就会返回多个ID,数据为ID数组

:find 返回要查找数第一次出现的位置
:find abcdcba c
返回2,字串、数组的第一位为0
:set a 1,12,25,13,12
:find $a 12
返回1

()圆括号是返回计算数值,用于脚本命令
:set a (12+3)
a=15

[]方括号是用于ROSshell的命令
:set a [/ip address get interface=lan address]
a等于lan的IP地址

{}用于命令组合
:if(true) do={
命令1
命令2
...
}
运行多行命令
routeros
回复

使用道具 举报

 楼主| 发表于 2007-3-19 13:36:55 | 显示全部楼层
谢谢楼上的二位...顶下..
routeros
回复

使用道具 举报

发表于 2007-11-4 12:43:38 | 显示全部楼层
学习
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-19 17:51 , Processed in 0.079522 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表