找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5294|回复: 11

[脚本] 判断变量的问题

  [复制链接]
发表于 2012-7-25 11:34:04 | 显示全部楼层 |阅读模式

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

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

×
具体问题是这样的:我获取当前外网IP地址,赋值给变量A, 变量B的值为10。是否可以判断变量A中有10.如果可以该怎么判断。
routeros
发表于 2012-7-25 11:43:02 | 显示全部楼层
判断变量A中有10 是啥意思?  是要幹啥?
routeros
回复

使用道具 举报

 楼主| 发表于 2012-7-25 11:52:23 | 显示全部楼层
拨号的时候有时会分配到电信的10开头的视频点播IP。那个IP只能看电视.
所以必须想个办法判断拨号后IP是否分配成了10开头的IP。如果是,那么重新拨号
routeros
回复

使用道具 举报

发表于 2012-7-25 12:24:05 | 显示全部楼层
截取变量A字段前2位是否等于10就行了。如果不会就论坛找个人给你写吧。
routeros
回复

使用道具 举报

 楼主| 发表于 2012-7-25 12:33:44 | 显示全部楼层
我用了另一个办法,已经成功解决了。谢谢楼上的。
下面是解决办法:
:set n [:find $newip 10.]
这个办法同样可以做判断了。如果10.开头的话,n的值为0
其他就好判断了~~~~
routeros
回复

使用道具 举报

发表于 2012-7-25 12:41:34 | 显示全部楼层
pick 這可以用
routeros
回复

使用道具 举报

发表于 2012-7-25 14:54:10 | 显示全部楼层
学习 谢谢
routeros
回复

使用道具 举报

发表于 2012-7-25 16:13:14 | 显示全部楼层
等老大出马
routeros
回复

使用道具 举报

发表于 2012-7-25 18:23:23 | 显示全部楼层
这个很难判断吧
比如你A的赋值是 192.168.10.100
find会找寻第一个10的位置 也就是.10的位置
假如你A赋值是  192.168.100.10
find还是会把100中的前2位当成了10 然后定位它的位置

换句说话你IP里面有100 也会作为10来查询

没任何意义
routeros
回复

使用道具 举报

发表于 2012-7-25 18:33:01 | 显示全部楼层
本帖最后由 YAWPYNG 于 2012-7-25 18:34 编辑

10開頭的ip應該是 10.xxx.xxx.xxx吧?

是的話,可以用 pick 去判斷 最前面  "10." 這三個字.
routeros
回复

使用道具 举报

发表于 2012-7-25 21:30:36 | 显示全部楼层

:local newaddress
:local specialip
:set newaddress [/ip address get [/ip address find dynamic=yes interface=("pppoe-out1")] address]
:set specialip [:pick $newaddress 0 [:find $newaddress "."]]
:if ($specialip=10) do={
/interface pppoe-client disable pppoe-out1
:delay 15
/interface pppoe-client enable pppoe-out1}

在5.12测试成功!

只要是10开头的IP,就重新拨号
routeros
回复

使用道具 举报

发表于 2012-7-30 01:31:59 | 显示全部楼层
高手多多啊,
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 04:03 , Processed in 0.149816 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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