找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4911|回复: 11

[脚本] 请教一个脚本问题!关于IF的用法

[复制链接]
发表于 2008-9-24 08:55:06 | 显示全部楼层 |阅读模式

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

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

×
  1. :global The-Dst
  2. :global The-Previous-Dst
  3. :set The-Dst [:resolve www.sina.com.cn]
  4. :set The-Previous-Dst [/interface pptp-client get [/interface pptp-client find name=To-Dst-Connection] connect-to]

  5. :if($The-Dst != $The-Previous-Dst)
  6.        do={
  7.             /interface pptp-client set [/interface pptp-client find name=To-Dst-Connection] connect-to=$The-Dst
  8.           }
复制代码
以上脚本 每一条都好使。问题出在if的判断上面。。。。ros我不知道IF能不能这样用。。反正我写的这个不好使,请教高手!
routeros
 楼主| 发表于 2008-9-24 08:56:08 | 显示全部楼层
忘了说。这个脚本是用来用来拨入对端是动态IP用的。。
routeros
回复

使用道具 举报

 楼主| 发表于 2008-9-24 18:45:25 | 显示全部楼层
没人理我?
routeros
回复

使用道具 举报

发表于 2008-9-24 19:14:01 | 显示全部楼层
if 的用法似乎没错,请检查其他部分,2.9.27就是这样用的,3.X版本就不知道了
routeros
回复

使用道具 举报

 楼主| 发表于 2008-9-24 22:47:38 | 显示全部楼层
我将if去掉
其他都正确执行。。。问题就出在判断上面。。
不解。望高人指点!
小弟在这里谢过了!
routeros
回复

使用道具 举报

发表于 2008-9-24 23:17:17 | 显示全部楼层
去掉大写,去掉-试试
routeros
回复

使用道具 举报

发表于 2008-9-24 23:17:44 | 显示全部楼层
不知道是执行结果不对还是执行时语法出错

结果不对也许是条件不满足,if内的语句不能被执行

2.9.27上测试过这个语法格式,完全没有问题
1.GIF
routeros
回复

使用道具 举报

发表于 2008-9-25 09:52:31 | 显示全部楼层
貌似是要用“;”把每一个语法连起来吧!
不过全局变量应该可以不用
运行这个测试的时候是没问题的
:global The-Dst
:global The-Previous-Dst
:set The-Dst 1
:set The-Previous-Dst 2
:if($The-Dst != $The-Previous-Dst) do={:put ture}

应该是你的变量有问题
还有就是别乱空格空行

[ 本帖最后由 tim97803 于 2008-9-25 10:11 编辑 ]
routeros
回复

使用道具 举报

 楼主| 发表于 2008-9-25 17:45:29 | 显示全部楼层
原帖由 tim97803 于 2008-9-25 09:52 发表
貌似是要用“;”把每一个语法连起来吧!
不过全局变量应该可以不用
运行这个测试的时候是没问题的
:global The-Dst
:global The-Previous-Dst
:set The-Dst 1
:set The-Previous-Dst 2
:if($The-Dst != $The ...


用;连接?
不太清楚。。我也是个菜鸟。。能说具体是怎么回事么
routeros
回复

使用道具 举报

发表于 2008-9-26 01:56:31 | 显示全部楼层
换行的学问啊,,哪里该换行,哪里不该换行,试试就OK了
routeros
回复

使用道具 举报

 楼主| 发表于 2008-9-26 15:49:18 | 显示全部楼层
呵呵~犯了个错误!ROS在脚本里面居然也可以执行!

我的IF后面要空一个格 在来(

另外 3.X里面 变量中不允许 “-”
routeros
回复

使用道具 举报

 楼主| 发表于 2008-9-26 15:50:12 | 显示全部楼层
  1. :global The-Dst
  2. :global The-Previous-Dst
  3. :set The-Dst [:resolve www.sina.com.cn]
  4. :set The-Previous-Dst [/interface pptp-client get [/interface pptp-client find name=To-Dst-Connection] connect-to]

  5. :if ($The-Dst != $The-Previous-Dst)
  6.        do={
  7.             /interface pptp-client set [/interface pptp-client find name=To-Dst-Connection] connect-to=$The-Dst
  8.           }
复制代码
以上是正确代码。
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-15 18:33 , Processed in 0.087683 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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