所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S1720, S2700, S5700, S6720 V200R012(C00&C20) 配置指南-设备管理

本文档介绍了设备管理的配置,具体包括查看设备状态、 硬件管理、 堆叠配置、 SVF配置、 云管理、 PoE配置、 监控口配置、 OPS配置、 节能管理、 信息中心配置、 故障管理配置、 NTP配置、 以太时钟同步配置、 PTP配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
命令行事件订阅

命令行事件订阅

接口名称

命令行事件订阅

适用阶段

订阅阶段

接口原型

result1_value, result2_description = ops.cli.subscribe(tag, pattern, enter=False, sync=True, async_skip=False, sync_wait=30)

参数说明

参数

参数说明

取值

tag

用于标识条件。

字符串形式,不区分大小写,长度范围是1~12,由字母、数字和下划线组成,以字母开头。tag不能为""、None、and、or以及andnot,不能包含\0。

pattern

指定匹配命令的正则表达式。

字符串形式,取值范围是1~128个字符,不能包含\0。

enter

指定匹配正则表达式的时间。

布尔型,取值如下:

  • True:表示按回车键后立刻匹配正则表达式。

  • False:表示命令中缩写的关键字以完整的形式进行匹配。

缺省值是False。

sync

指定命令行触发执行动作后,是否等待脚本执行结束。

布尔型,取值如下:

  • True:表示等待。

  • False:表示不等待。

缺省值是True。

async_skip

在sync取值为False时,指定是否跳过原有命令执行。

布尔型,取值如下:

  • True:表示跳过。

  • False:表示不跳过。

缺省值是False。

sync_wait

在sync取值为True时,指定命令行同步等待脚本执行的时间。

整数形式,取值范围是1~2147483647,单位是秒。缺省值是30秒。

返回值

接口原型中的result1_value和result2_description表示返回值。

result1_value为第一个返回值:0表示成功,1表示失败。

result2_description为第二个返回值:失败原因(仅当第一个返回值为1时返回)。

使用说明

使用命令行事件订阅接口(ops.cli.subscribe)时,

  • 如果订阅的是设备原有的命令行,sync=True且ops_execute函数的返回值为0,则会导致跳过设备原有命令的执行,即设备原有命令行失效。

  • 如果订阅的是设备原有的命令行,sync=False且async_skip=True,则会导致跳过设备原有命令的执行,即设备原有命令行失效。

  • 建议将匹配命令的正则表达式指定为完整关键字或命令行。

    • 使用不完整命令行或关键字,且enter=True、sync=True时,订阅的事件会被误匹配。例如指定正则表达式为display,则输入任意包含display的命令都会导致事件被匹配,进而触发执行函数中的动作。

    • 使用不完整命令行或关键字,例如dis,且enter=True、sync=False、async_skip=True时,设备上所有包含dis的命令将失效。

    • 使用不完整命令行或关键字,例如display,且enter=False、sync=True时,输入任意包含display的设备自带的命令都会导致事件被匹配,进而触发执行函数中的动作。

    • 使用不完整命令行或关键字,例如display,且enter=False、sync=False、async_skip=True时,所有包含display的设备自带的命令将失效。

  • 不要将匹配命令的正则表达式指定为单个空格字符" "。

    • 当正则表达式为单个空格字符" "且用户仅输入单个空格时,无法触发执行函数中的动作。

    • 当正则表达式为单个空格字符" ",且enter=True、sync=True、async_skip=True时,用户输入任意含有空格的命令都会导致订阅的事件会被误匹配。

    • 当正则表达式为单个空格字符" ",且enter=True、sync=False、async_skip=True时,用户输入任意含有空格的命令都会失效。

  • 如果匹配命令的正则表达式中含有?,例如"shutdow?",则用户输入shutdow?时,订阅的事件不会匹配。

  • 如果匹配命令的正则表达式中含有除?以外的其他特殊字符,设备在执行Python脚本时会对特殊字符进行二次转义。例如,匹配命令的正则表达式为"shutdown \\a",经一次转义后为"shutdown \a",经二次转义后为"shutdown a"。因此用户输入shutdown a时,订阅的事件匹配。用户需要保证特殊字符经二次转义后为可见字符,否则会因在CLI中无法输入不可见字符导致订阅的事件无法匹配。

  • 通过ops.cli.subscribe订阅的命令行,建议不要与Python脚本文件同名,避免无法对Python脚本文件进行拷贝、删除等操作。

如果在订阅阶段通过ops.cli.subscribe定义了多个简单事件,但不使用多条件关系组合接口对简单事件进行组合,Python脚本助手无法配置成功。

使用缺省值的参数,可以直接省略。例如,以下语句表示参数enter、sync、async_skip和sync_wait均使用缺省值。

value, descri_str = ops.cli.subscribe("cli1", "arp broadcast disable")

通过命令行事件订阅,用户可以匹配已有的命令行,也可以自定义新的命令行。

使用实例

在用户输入arp broadcast disable命令时,触发相应的动作。

value, descri_str = ops.cli.subscribe("cli1", "arp broadcast disable", enter=True, sync=True, sync_wait=60)
翻译
下载文档
更新时间:2018-12-24

文档编号:EDOC1100038438

浏览量:34539

下载量:2041

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页