Skip to main content
SANtricity software
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用脚本编辑器

贡献者 netapp-driley

使用 Script 编辑器创建或编辑脚本文件,将脚本文件保存到存储管理站的本地磁盘,或从磁盘加载脚本文件。

开始之前

脚本编辑器与存储阵列通信,以启用脚本语法检查和命令执行。键入到脚本编辑器中的脚本命令通常在存储阵列上运行。

脚本编辑器在窗口中提供两个视图:

  • 编辑器窗格 – 提供用于输入或编辑脚本命令的区域。

  • 输出窗格 – 显示验证或执行结果。拆分栏在编辑器窗格和输出窗格之间划分窗口。

  • 脚本编辑器不支持需要输入文件的命令,例如控制器固件、NVSRAM 或驱动器固件升级。

  • 脚本编辑器支持生成输出文件的命令。

  • 有一些命令需要在客户端执行(客户端命令)。

    • 此版本唯一支持的客户端命令是 on error stopon error continue

    • 如果尝试运行任何其他客户端命令,脚本编辑器会生成错误。

打开脚本编辑器

步骤
  1. 从左侧面板中,选择菜单:Support[Script editor]。

    下表列出了脚本编辑器中可用的文件选项:

    字段详细信息
    任务 Action

    打开新脚本

    1. 单击 Load script file 将现有脚本文件上传到 Script editor。

      脚本编辑器在编辑器窗格中打开选定的脚本文件。

    验证脚本命令语法

    1. 单击 Syntax check 以验证编辑器窗格中当前脚本的语法。

      Script 编辑器一次一行地解析脚本文件中的语句,并验证它们的语法是否正确。任何语法错误都会出现在输出窗格中,该窗格会报告错误的行号和错误说明。

      如果脚本编辑器遇到语法错误,则不会对脚本执行进一步的语法验证。

      修复任何语法错误,然后重新运行 Syntax Check 以验证错误更正并检查脚本中的其余语句。

    执行脚本

    1. 单击 Execute Script 在编辑器窗格中运行当前脚本。

      脚本编辑器启动语法检查操作,然后对输入文件中的每个脚本命令,在存储阵列控制器上运行命令执行。

      如果 Script 编辑器遇到语法错误,则会停止执行并显示错误消息。

      修复错误,然后重新运行 Syntax check 以验证错误更正。

      备注 如果发生执行错误,脚本可能无法继续执行,具体取决于包含的 `On Error`脚本语句。 `On Error Stop`语句在遇到执行错误时会停止脚本。 `On Error Continue`语句允许脚本在遇到执行错误后继续运行。此语句是默认设置。

    编辑现有脚本

    1. 单击 Load script file 将现有脚本文件上传到 Script editor。

    2. 在编辑器窗格中,对脚本进行任何必要的更改。

    将脚本保存到本地文件

    1. 单击 Save script file 将脚本窗格中的更改下载为新的脚本文件。

    清除 Script editor 编辑器窗格中的文本

    1. 单击 Clear editor 可清除编辑器窗格中的文本。

    将输出结果保存到本地文件

    1. 单击 Save results 将输出窗格的内容下载为新文件。

在脚本编辑器中编写脚本

开始之前

使用脚本编辑器编写脚本命令时,请确保遵循以下准则: * 以分号 (;) 结束所有语句。* 用空格分隔每个基本命令及其相关的主参数和辅助参数。* 在脚本编辑器中输入参数时,不区分大小写。* 将每个语句放在单独的一行。* 向脚本添加注释,以便您和未来的用户更容易理解命令语句的目的。

步骤
  1. 用字符 `/`和 `/`包围多行注释。

    如果脚本引擎未找到开始注释符号和结束注释符号,则会出现错误消息,脚本执行将终止。

  2. 以两个正斜杠 (// 开始单行注释,并以行尾字符结尾,您可以按 Enter 插入行尾字符。

    如果脚本引擎在处理注释后未在脚本中找到行尾字符,则会显示错误消息,并终止脚本执行。

    当注释放置在脚本末尾,而您忘记按 Enter 时,通常会出现此错误。

  3. 使用 show 语句将注释嵌入脚本中,这些注释将在脚本执行期间显示在编辑器窗格中。

    该 `show`语句对于调试脚本非常有用。

    在脚本中包含 `show setting controller mode`语句会导致在脚本执行期间处理此行时输出窗格中出现以下行:

    setting controller mode

解读脚本执行结果

在脚本执行期间,消息出现在输出窗格中,开头为:

Executing script...

如果在解析阶段发生错误,则该错误将显示在输出窗格中,该窗格提供行号和列号以及语法错误的描述。以下是语法错误消息的示例。

如果在脚本中键入以下语句:

set controller[a] mod = passive;

输出窗格显示生成的语法错误,如下所示:

Encountered "mod" at line 2, column 19
Was expecting one of...
"mode"...
"availability"...
"NVSRAMbyte"...

如果在脚本执行过程中发生错误,输出窗格中会显示一条消息,指出命令失败并报告错误说明。

例如,如果在脚本中键入以下语句:

set volume [three] userLabel="OneOne";

由此产生的错误出现在以下输出窗格中。此命令无法发送到存储阵列,因为它处于无响应状态。

Unable to change the volume user label using the Set Volume command at line 1
Error - 1 - Could not communicate with the storage array to complete this request.
备注 某些执行错误,包括无法与存储阵列通信,总是会导致脚本执行停止。在这些情况下,即使使用 On Error Continue 语句,执行也会停止。
结果

执行脚本后,请查看输出窗格以检查成功或错误。