多条动态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 编辑 ] 这个脚本是我写的,测试过可用,你看看吧
: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 编辑 ] 如果pppoe-out1掉线,不是执行不下去了??? 原帖由 tpy372 于 2007-6-14 00:19 发表 http://bbs.routerclub.com/images/common/back.gif
如果pppoe-out1掉线,不是执行不下去了???
一样在运行,不影响 在这里是靠什么判断的呢,,如果pppoe-out改名了呢,
要不要在那里做comment注释的呢 不会吧,如果pppoe-out1掉线,执行到
:set ip1 address]
脚本就会跳出
如果pppoe-out1一直拨不上
其他的ad也更新不了 原帖由 tpy372 于 2007-6-14 02:09 发表 http://bbs.routerclub.com/images/common/back.gif
不会吧,如果pppoe-out1掉线,执行到
:set ip1 address]
脚本就会跳出
如果pppoe-out1一直拨不上
其他的ad也更新不了
你测试下就知道了 测试通过...
以前调试脚本发现ros的脚本容易出错后跳出,这次为什么又能通过????不明白???? 还有,如果出错,会不停的修改address 和gateway 原帖由 tpy372 于 2007-6-14 05:29 发表 http://bbs.routerclub.com/images/common/back.gif
还有,如果出错,会不停的修改address 和gateway
那可能是你没加上条件选择吧?
或你是没去掉掩码
[ 本帖最后由 sxmong147 于 2007-6-14 06:16 编辑 ] 你试一下。。。
如果某条ad拨不上,每次运行脚本仍然会去修改他的address 和gateway,在系统log里会有显示..
虽然看上去address和gateway都是空 在这里是靠什么判断的呢,,如果pppoe-out改名了呢,
要不要在那里做comment注释的呢 你是没学过言语,由其是C
全局变量 :local
下面的附值。
再一个C语言我是没办法一下下教你了。
语句就是 C语言的循环。
能看明白的挑下。呵。 :)
页:
[1]