Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

提交脚本所需的样板

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

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

SLAX 和 XSLT 提交脚本基于 Junos XML 和Junos XML 协议标记元素。如同所有 XML 元素一样,尖括号在其开始标记和Junos标记中Junos或 Junos XML 协议标记元素的名称。这是一种 XML 约定,而括号是完整标记元素名称的必需部分。它们不能与文档中用于表示命令字符串的可选部分的尖括号Junos OS CLI混淆。

提交脚本的 XSLT 样板

XSLT commit 脚本样板如下所示:

第 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">元素允许您从/configuration/脚本中所有 XPath 表达式中排除根元素,然后从层次结构级别中以前Junos OS开始 XPath 表达式。有关详细信息,请参阅 XPath 概述

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

第 9 行结束该模板。

第 10 行将结束样式表和 commit 脚本。

提交脚本的 SLAX 样板

相应的 SLAX commit 脚本样板如下所示:

提交脚本的 Python 样板

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

  • Junos_Context 词汇表 — 包含有关脚本执行环境的信息。

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

  • jcs 库 — 使脚本能够使用Junos OS扩展功能和Junos OS脚本中称为模板功能。

  • jnpr.junos 模块和类 - 使脚本能够Junos PyEZ。

例如:

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