Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

提交脚本所需的样板

总结 定义提交脚本的样板。

Junos OS 提交脚本可使用可扩展样式表语言转换 (XSLT)、样式表语言替代语法 (SLAX) 或 Python 编写。提交脚本必须包括该脚本语言所需的必要样板,用于基本脚本功能以及脚本中使用的任何可选功能,例如 Junos OS 扩展功能和命名模板。本主题提供标准样板,可用于 XSLT、SLAX 和 Python 提交脚本。

SLAX 和 XSLT 提交脚本基于 Junos XML 和 Junos XML 协议标记元素。与所有 XML 元素一样,尖括号在其开口和关闭标记中附有 Junos XML 或 Junos XML 协议标记元素的名称。这是 XML 约定,并且托架是完整标记元素名称的必需部分。它们不会与文档中用于指示 Junos OS CLI 命令字符串可选部分的尖括号混淆。

用于提交脚本的 XSLT 样板

XSLT 提交脚本样板如下:

第 1 行是可扩展标记语言 (XML) 处理说明 (PI)。此 PI 指定该代码使用版本 1.0 在 XML 中编写。XML PI(如果存在)必须是脚本文件中的第一个非承诺令牌。

第 2 行打开样式表,并将 XSLT 版本指定为 1.0。

第 3 行至第 6 行列出了提交脚本中常用的所有名称空间映射。此示例中未使用所有这些前缀,但列出未引用的名称空间映射并非错误。如果映射在脚本的后续版本中使用,列出所有名称空间映射可防止发生错误。

第 7 行是 XSLT 导入语句。它会从引用的文件中加载模板和变量。 /import/junos.xsl,作为 Junos OS 的一部分发货。 junos.xsl 文件包含一组可在脚本中调用的命名模板。在 《了解 Junos OS 自动化脚本中的命名模板》中讨论了这些名为模板的模板。

第 8 行定义了与该元素匹配 <configuration> 的模板,该元素是由模板选择 <xsl:template match="/"> 的节点,包含在 junos.xsl 导入文件中。该 <xsl:template match="configuration"> 元素允许您从脚本中的所有 XPath 表达式中排除 /configuration/ 根元素,然后开始使用顶级 Junos OS 层次结构级别的 XPath 表达式。有关更多信息,请参阅 XPath 概述

在 8 行到 9 行之间添加代码。

第 9 行关闭模板。

第 10 行关闭样式表和提交脚本。

提交脚本的 SLAX 样板

相应的 SLAX 提交脚本样板如下:

提交脚本的 Python 样板

Python 提交脚本没有所需的样板,但它们必须导入脚本中使用的任何对象。Python 提交脚本可导入以下内容:

  • Junos_Context 字典 — 包含有关脚本执行环境的信息。

  • Junos_Configuration 对象 — 包含继承后候选配置。

  • jcs 库 — 允许脚本使用 Junos OS 扩展功能和脚本中名为模板功能的 Junos OS。

  • jnpr.junos 模块和类 — 允许脚本使用 Junos PyEZ。

例如:

Python 自动化脚本不需要在脚本开始时包含解释器指令行 (#!/usr/bin/env python)。但是,如果存在程序,程序仍将正确执行。