📚 脚本编辑帮助文档

华为OLT管理工具 - 脚本编辑与变量使用指南

📑 目录

一、如何编辑脚本

1.1 脚本编辑入口

在软件主界面右侧的"脚本管理"面板中,您可以:

1.2 脚本格式要求

💡 提示:脚本采用逐行命令格式,每行一个命令,空行代表回车(发送空命令)。
enable config board confirm 0 vlan 41 port vlan 41 0/6 0 quit

1.3 特殊字符处理

// 示例:使用 \r 实现特殊回车 terminal user name %s %s %s // 上面的空行会被解析为回车 3 20

二、变量类型详解

脚本支持多种变量类型,用于实现动态参数替换。变量按在脚本中首次出现的顺序显示在输入表单中。

2.1 独立变量 每次需单独定义

%d - 数字变量

每次出现都需要单独输入值,即使值相同也需要分别输入。

示例:

vlan %d port vlan %d 0/6 0

执行说明:执行时会要求输入两次值,即使两个值相同也需要分别输入。

%s - 字符串变量

每次出现都需要单独输入值。

示例:

terminal user name %s %s %s

执行说明:执行时会要求输入三次值(用户名、密码、确认密码)。

2.2 可复用变量 相同编号只需定义一次

%md1, %md2, %md3... - 可复用数字变量

相同编号的变量只需定义一次,所有位置自动替换为相同值。

示例:

interface gpon 0/%md1 ont confirm %md2 all sn-auth omci ont-lineprofile-id %d ont-srvprofile-id %d quit multi-service-port vlan %d ont 0/%md1/%md2 0-63 gemindex %d user-vlan %d

执行说明:

  • %md1:只需输入一次板卡号,所有 %md1 位置都会替换为相同值
  • %md2:只需输入一次端口号,所有 %md2 位置都会替换为相同值
  • %d:需要输入多次(线路号、业务号、VLAN号、GEM号、光猫VLAN号)

%ms1, %ms2, %ms3... - 可复用字符串变量

相同编号的变量只需定义一次,所有位置自动替换为相同值。

示例:

ont-lineprofile gpon profile-id %d profile-name "%ms1" ont-srvprofile gpon profile-id %d profile-name "%ms1"

执行说明:只需输入一次 %ms1 的值(模板名称),两个位置都会替换为相同值。

2.3 命名变量 推荐使用

[变量名] - 命名变量

括号内的内容自动作为变量描述,无需单独定义描述。相同变量名自动复用(只需定义一次)。

✅ 优势:
  • 自动使用括号内内容作为描述,更直观易读
  • 相同变量名自动复用,只需定义一次
  • 便于脚本维护和理解

示例:批量注册光猫

interface gpon 0/[板卡号] ont confirm [端口号] all sn-auth omci ont-lineprofile-id [线路号] ont-srvprofile-id [业务号] quit multi-service-port vlan [OLTV_VLNA] ont 0/[板卡号]/[端口号] 0-63 gemindex [GEM号] user-vlan [光猫VLNA]

执行说明:

  • [板卡号]:只需输入一次,显示"板卡号"作为提示
  • [端口号]:只需输入一次,显示"端口号"作为提示
  • [线路号][业务号][OLTV_VLNA] 等:每个都需要输入一次

示例:查询光猫信息

display ont info by-sn [光猫SN] undo service-port port 0/[板卡号]/[端口号] ont [光猫编号] interface gpon 0/[板卡号] ont del [端口号] [光猫编号] quit

2.4 自动生成变量 无需手动输入

[随机X-Y] - 随机数生成

自动生成指定范围内的随机整数,执行时自动生成,无需手动输入。

示例:

// 自动生成 1 到 4000 之间的随机数作为 profile-id dba-profile add profile-id [随机1-4000] profile-name "DBA" type4 max 1024000 // 自动生成 100 到 2000 之间的随机数作为 VLAN 号 vlan [随机100-2000]

[顺序X-Y] - 顺序数生成

自动生成指定范围内的顺序整数,每次执行递增。当达到最大值时,会重新从最小值开始循环。

示例:

// 第一次执行生成 100,第二次生成 101,依此类推 // 当达到最大值 1000 时,会重新从最小值 100 开始循环 // 适用于需要连续编号的场景,如批量开通用户业务时分配顺序用户VLAN号 interface gpon 0/[板卡号] multi-service-port vlan [随机100-4000] ont 0/[板卡号]/[端口号] [光猫编号] gemindex [GEM号] user-vlan [顺序100-1000]

说明:顺序变量适用于需要连续编号的场景,如批量开通用户业务时分配顺序递增的用户VLAN号。

三、变量设置方法

3.1 在脚本中使用变量

直接在脚本中需要动态替换的位置使用变量占位符即可。

// 示例:使用命名变量 interface gpon 0/[板卡号] display ont optical-info [端口号] all

3.2 设置变量预设值

在"自定义命令管理"中编辑命令时,可以为变量设置预设值和描述:

  1. 点击"命令管理中心"按钮
  2. 选择要编辑的命令,点击"编辑"
  3. 在"通配符预设值"区域,为每个变量设置:
    • 描述:变量的说明文字(命名变量会自动使用变量名作为描述)
    • 预设值:默认值,点击按钮时会自动填充
💡 提示:设置预设值后,执行命令时会自动填充这些值,您可以直接使用或修改。

四、配置示例

4.1 示例一:批量注册光猫(使用命名变量)

脚本内容:

interface gpon 0/[板卡号] ont confirm [端口号] all sn-auth omci ont-lineprofile-id [线路号] ont-srvprofile-id [业务号] quit multi-service-port vlan [OLTV_VLNA] ont 0/[板卡号]/[端口号] 0-63 gemindex [GEM号] user-vlan [光猫VLNA] multi-service-port vlan [OLTV_VLNA2] ont 0/[板卡号]/[端口号] 0-63 gemindex [GEM号] user-vlan [光猫VLNA2]

变量说明:

变量名 说明 示例值
[板卡号] GPON板卡编号 1
[端口号] GPON端口编号 0
[线路号] 线路模板ID 11
[业务号] 业务模板ID 11
[OLTV_VLNA] OLT侧VLAN号 41
[GEM号] GEM索引号 1
[光猫VLNA] 光猫侧VLAN号 41
[OLTV_VLNA2] OLT侧第二个VLAN号 46
[光猫VLNA2] 光猫侧第二个VLAN号 46

4.2 示例二:批量加猫(使用可复用变量)

脚本内容:

interface gpon 0/%md1 ont confirm %md2 all sn-auth omci ont-lineprofile-id %d ont-srvprofile-id %d quit multi-service-port vlan %d ont 0/%md1/%md2 0-63 gemindex %d user-vlan %d

变量说明:

  • %md1:板卡号(出现2次,只需输入一次)
  • %md2:端口号(出现2次,只需输入一次)
  • %d:需要输入5次(线路号、业务号、VLAN号、GEM号、光猫VLAN号)

4.3 示例三:开局脚本

脚本内容:

en con board confirm 0 vlan 41 port vlan 41 0/6 0 port vlan 41 0/6 1 port vlan 41 0/6 2 port vlan 41 0/6 3 port vlan 41 0/8 0 port vlan 41 0/8 1 port vlan 41 0/9 0 port vlan 41 0/9 1 dba-profile add profile-id 41 profile-name "1000M" type4 max 1024000 ont-lineprofile gpon profile-id 1 profile-name "GPON" tcont 1 dba-profile-id 41 gem add 1 eth tcont 1 gem mapping 1 0 vlan 41 gem mapping 1 1 vlan 42 gem mapping 1 2 vlan 43 gem mapping 1 3 vlan 44 gem mapping 1 4 vlan 46 commit quit ont-srvprofile gpon profile-id 1 profile-name "GPON" ont-port pots 1 eth 4 multicast-forward untag commit quit board confirm 0 autosave interval on sysman service telnet enable snmp-agent community read public snmp-agent community write private snmp-agent sys-info version all snmp-agent trap enable standard snmp-agent community read public-AllinPol2026 snmp-agent community write private-AllinPol2026 snmp-agent sys-info version all snmp-agent trap enable standard display board 0

说明:这是一个完整的开局脚本,包含板卡确认、VLAN配置、模板创建、SNMP配置等。

4.4 示例四:混合使用变量

脚本内容:

// 使用可复用变量创建模板 ont-lineprofile gpon profile-id %md1 profile-name "%ms1" ont-srvprofile gpon profile-id %md1 profile-name "%ms1" // 使用随机变量开通用户业务(随机OLT VLAN号,顺序用户VLAN号) interface gpon 0/[板卡号] multi-service-port vlan [随机100-4000] ont 0/[板卡号]/[端口号] [光猫编号] gemindex [GEM号] user-vlan [顺序100-1000]

执行说明:

  • %md1:需要输入一次模板ID,两个位置都会替换
  • %ms1:需要输入一次模板名称,两个位置都会替换
  • [板卡号]:需要输入一次,两个位置都会替换
  • [端口号]:需要输入端口号
  • [光猫编号]:需要输入光猫编号
  • [GEM号]:需要输入GEM索引号
  • [随机100-4000]:自动生成随机OLT VLAN号,无需输入
  • [顺序100-1000]:自动生成顺序用户VLAN号(第一次100,第二次101...),无需输入

应用场景:适用于批量开通用户业务的场景,系统会自动为每个用户分配随机的OLT VLAN号和顺序递增的用户VLAN号。

五、最佳实践

5.1 变量命名建议

5.2 脚本组织建议

5.3 变量复用建议

⚠️ 注意事项:
  • 华为 MA5680T 命令区分大小写,请严格按照设备命令格式输入
  • 变量按在脚本中首次出现的顺序显示在输入表单中
  • 可复用变量(%md1、%ms1、[变量名])只需定义一次,所有相同位置自动替换
  • 独立变量(%d、%s)每次出现都需要单独定义
  • 自动生成变量([随机X-Y]、[顺序X-Y])不会出现在输入表单中,执行时自动处理

六、常见问题

6.1 变量替换问题

Q:为什么我的变量没有被替换?

A:请检查:

6.2 命令执行问题

Q:脚本执行失败怎么办?

A:请检查:

6.3 变量输入问题

Q:为什么有些变量没有出现在输入表单中?

A:以下变量不会出现在输入表单中:

6.4 脚本保存问题

Q:如何保存脚本?

A:有两种方式:

📥 软件下载

提取密码: 96j9