gordonbwb 发表于 2007-6-13 18:54:41

多条动态ADSL接入控制脚本---脚本的风采

谁能帮忙注释一下这脚本,如果是变量用其它颜色更好

脚本如下:
:local assign-address
:local new-address
:local status
:local x
:set x 2
:for i from=1 to=$x do={
    :set status running]
    :if ($status=true) do={
   :set new-address address]
   :set new-address [:pick $new-address 0 ([:len $new-address] -3)]
   :set assign-address address]
   :set assign-address [:pick $assign-address 0 ([:len $assign-address] -3)]
      :if ($assign-address != $new-address) do={ \
      /ip address set address=$new-address network=$new-address broadcast=$new-address
      /ip route set gateway=$new-address
       }
   }
}

[ 本帖最后由 cracks 于 2007-11-4 12:37 编辑 ]

sxmong147 发表于 2007-6-13 19:06:40

这个脚本是我写的,测试过可用,你看看吧

:local ip1
:local ip2
:local x
:set x 2    (这里的数字2是代表多少条动态ADSL接入)
:for i from=1 to=$x do={       (这里是循环执行)
   :set ip1 address]
   :set ip1 [:pick $ip1 0 [:find $ip1 "/"]]
   :set ip2 gateway]
   :if ($ip1 != $ip2) do={       (这里是条件选择,$ip1不等于$ip2时,执行do={}里面的命令)
      /ip add set address=$ip1 network=$ip1 broa=$ip1
      /ip route set gateway=$ip1
   :log info "〖动态或同网关ADSL修改完毕〗"
}
}

[ 本帖最后由 sxmong147 于 2007-6-13 20:06 编辑 ]

tpy372 发表于 2007-6-14 00:19:16

如果pppoe-out1掉线,不是执行不下去了???

sxmong147 发表于 2007-6-14 00:57:09

原帖由 tpy372 于 2007-6-14 00:19 发表 http://bbs.routerclub.com/images/common/back.gif
如果pppoe-out1掉线,不是执行不下去了???


       一样在运行,不影响

gordonbwb 发表于 2007-6-14 02:07:11

在这里是靠什么判断的呢,,如果pppoe-out改名了呢,

要不要在那里做comment注释的呢

tpy372 发表于 2007-6-14 02:09:30

不会吧,如果pppoe-out1掉线,执行到
:set ip1 address]
脚本就会跳出
如果pppoe-out1一直拨不上
其他的ad也更新不了

sxmong147 发表于 2007-6-14 03:08:21

原帖由 tpy372 于 2007-6-14 02:09 发表 http://bbs.routerclub.com/images/common/back.gif
不会吧,如果pppoe-out1掉线,执行到
:set ip1 address]
脚本就会跳出
如果pppoe-out1一直拨不上
其他的ad也更新不了


      你测试下就知道了

tpy372 发表于 2007-6-14 04:53:21

测试通过...
以前调试脚本发现ros的脚本容易出错后跳出,这次为什么又能通过????不明白????

tpy372 发表于 2007-6-14 05:29:48

还有,如果出错,会不停的修改address 和gateway

sxmong147 发表于 2007-6-14 05:56:08

原帖由 tpy372 于 2007-6-14 05:29 发表 http://bbs.routerclub.com/images/common/back.gif
还有,如果出错,会不停的修改address 和gateway


那可能是你没加上条件选择吧?

或你是没去掉掩码

[ 本帖最后由 sxmong147 于 2007-6-14 06:16 编辑 ]

tpy372 发表于 2007-6-14 16:58:46

你试一下。。。
如果某条ad拨不上,每次运行脚本仍然会去修改他的address 和gateway,在系统log里会有显示..
虽然看上去address和gateway都是空

gordonbwb 发表于 2007-6-14 18:57:31

在这里是靠什么判断的呢,,如果pppoe-out改名了呢,

要不要在那里做comment注释的呢

lnfs000 发表于 2007-6-14 19:13:09

你是没学过言语,由其是C
全局变量 :local
下面的附值。
再一个C语言我是没办法一下下教你了。
语句就是 C语言的循环。
能看明白的挑下。呵。

cracks 发表于 2007-11-4 12:36:37

:)
页: [1]
查看完整版本: 多条动态ADSL接入控制脚本---脚本的风采