使用脚本编辑器
使用 Script 编辑器创建或编辑脚本文件,将脚本文件保存到存储管理站的本地磁盘,或从磁盘加载脚本文件。
脚本编辑器与存储阵列通信,以启用脚本语法检查和命令执行。键入到脚本编辑器中的脚本命令通常在存储阵列上运行。
脚本编辑器在窗口中提供两个视图:
-
编辑器窗格 – 提供用于输入或编辑脚本命令的区域。
-
输出窗格 – 显示验证或执行结果。拆分栏在编辑器窗格和输出窗格之间划分窗口。
-
脚本编辑器不支持需要输入文件的命令,例如控制器固件、NVSRAM 或驱动器固件升级。
-
脚本编辑器支持生成输出文件的命令。
-
有一些命令需要在客户端执行(客户端命令)。
-
此版本唯一支持的客户端命令是
on error stop和on error continue。 -
如果尝试运行任何其他客户端命令,脚本编辑器会生成错误。
-
打开脚本编辑器
-
从左侧面板中,选择菜单:Support[Script editor]。
下表列出了脚本编辑器中可用的文件选项:
字段详细信息
任务 Action 打开新脚本
-
单击 Load script file 将现有脚本文件上传到 Script editor。
脚本编辑器在编辑器窗格中打开选定的脚本文件。
验证脚本命令语法
-
单击 Syntax check 以验证编辑器窗格中当前脚本的语法。
Script 编辑器一次一行地解析脚本文件中的语句,并验证它们的语法是否正确。任何语法错误都会出现在输出窗格中,该窗格会报告错误的行号和错误说明。
如果脚本编辑器遇到语法错误,则不会对脚本执行进一步的语法验证。
修复任何语法错误,然后重新运行 Syntax Check 以验证错误更正并检查脚本中的其余语句。
执行脚本
-
单击 Execute Script 在编辑器窗格中运行当前脚本。
脚本编辑器启动语法检查操作,然后对输入文件中的每个脚本命令,在存储阵列控制器上运行命令执行。
如果 Script 编辑器遇到语法错误,则会停止执行并显示错误消息。
修复错误,然后重新运行 Syntax check 以验证错误更正。
如果发生执行错误,脚本可能无法继续执行,具体取决于包含的 `On Error`脚本语句。 `On Error Stop`语句在遇到执行错误时会停止脚本。 `On Error Continue`语句允许脚本在遇到执行错误后继续运行。此语句是默认设置。
编辑现有脚本
-
单击 Load script file 将现有脚本文件上传到 Script editor。
-
在编辑器窗格中,对脚本进行任何必要的更改。
将脚本保存到本地文件
-
单击 Save script file 将脚本窗格中的更改下载为新的脚本文件。
清除 Script editor 编辑器窗格中的文本
-
单击 Clear editor 可清除编辑器窗格中的文本。
将输出结果保存到本地文件
-
单击 Save results 将输出窗格的内容下载为新文件。
-
在脚本编辑器中编写脚本
使用脚本编辑器编写脚本命令时,请确保遵循以下准则: * 以分号 (;) 结束所有语句。* 用空格分隔每个基本命令及其相关的主参数和辅助参数。* 在脚本编辑器中输入参数时,不区分大小写。* 将每个语句放在单独的一行。* 向脚本添加注释,以便您和未来的用户更容易理解命令语句的目的。
-
用字符 `/`和 `/`包围多行注释。
如果脚本引擎未找到开始注释符号和结束注释符号,则会出现错误消息,脚本执行将终止。
-
以两个正斜杠 (
//开始单行注释,并以行尾字符结尾,您可以按 Enter 插入行尾字符。如果脚本引擎在处理注释后未在脚本中找到行尾字符,则会显示错误消息,并终止脚本执行。
当注释放置在脚本末尾,而您忘记按 Enter 时,通常会出现此错误。
-
使用
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 语句,执行也会停止。
|
执行脚本后,请查看输出窗格以检查成功或错误。