flyoam 发表于 2012-7-25 11:34:04

判断变量的问题

具体问题是这样的:我获取当前外网IP地址,赋值给变量A, 变量B的值为10。是否可以判断变量A中有10.如果可以该怎么判断。

YAWPYNG 发表于 2012-7-25 11:43:02

判断变量A中有10 是啥意思?是要幹啥?

flyoam 发表于 2012-7-25 11:52:23

拨号的时候有时会分配到电信的10开头的视频点播IP。那个IP只能看电视.
所以必须想个办法判断拨号后IP是否分配成了10开头的IP。如果是,那么重新拨号

9939781 发表于 2012-7-25 12:24:05

截取变量A字段前2位是否等于10就行了。如果不会就论坛找个人给你写吧。

flyoam 发表于 2012-7-25 12:33:44

我用了另一个办法,已经成功解决了。谢谢楼上的。
下面是解决办法:
:set n [:find $newip 10.]
这个办法同样可以做判断了。如果10.开头的话,n的值为0
其他就好判断了~~~~

YAWPYNG 发表于 2012-7-25 12:41:34

pick 這可以用

bom_li 发表于 2012-7-25 14:54:10

学习 谢谢 :)

michaelyuan 发表于 2012-7-25 16:13:14

等老大出马:lol

huigezi' 发表于 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来查询

没任何意义

YAWPYNG 发表于 2012-7-25 18:33:01

本帖最后由 YAWPYNG 于 2012-7-25 18:34 编辑

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

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

fandl 发表于 2012-7-25 21:30:36


:local newaddress
:local specialip
:set newaddress 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,就重新拨号

liuqianguan 发表于 2012-7-30 01:31:59

高手多多啊,:lol
页: [1]
查看完整版本: 判断变量的问题