使用腳本編輯器
使用 Script 編輯器建立或編輯腳本檔案、將腳本檔案儲存至儲存管理站的本機磁碟,或從磁碟載入腳本檔案。
腳本編輯器與儲存陣列通信,以實現腳本語法檢查和命令執行。在腳本編輯器中輸入的腳本命令通常會在儲存陣列上執行。
腳本編輯器在視窗中提供兩種檢視:
-
編輯器窗格 – 提供輸入或編輯指令碼命令的區域。
-
輸出窗格 – 顯示驗證或執行結果。分隔條將視窗分為編輯器窗格和輸出窗格。
-
腳本編輯器不支援需要輸入檔案的命令,例如控制器韌體、NVSRAM 或磁碟機韌體升級。
-
腳本編輯器支援產生輸出檔案的命令。
-
有些命令需要在用戶端執行 (用戶端命令)。
-
此版本僅支援的客戶端命令為
on error stop和on error continue。 -
如果嘗試執行任何其他用戶端命令,指令碼編輯器將產生錯誤。
-
開啟指令碼編輯器
-
從左側面板中,選擇功能表:Support [Script editor]。
下表列出了 Script 編輯器中可用的檔案選項:
欄位詳細資料
任務 行動 開啟新腳本
-
點擊 Load script file 將現有腳本檔案上傳到 Script editor 。
Script 編輯器會在編輯器窗格中開啟選定的 script 檔案。
驗證指令碼命令語法
-
按一下 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 將腳本窗格中的變更下載為新的腳本檔案。
清除腳本編輯器的編輯器窗格中的文字
-
按一下 Clear editor 以清除編輯器窗格中的文字。
將輸出結果儲存到本機檔案
-
按一下 Save results 將輸出窗格的內容下載為新檔案。
-
在腳本編輯器中編寫腳本
使用 Script editor 編寫腳本指令時,請務必遵循下列準則:* 所有語句均以分號(;)結尾。* 每個基本指令及其關聯的主參數和輔助參數之間以空格分隔。* 在 Script editor 中輸入參數時,參數不區分大小寫。* 每個語句應單獨佔一行。* 在腳本中加入註釋,以便您和未來的使用者更容易理解指令語句的用途。
-
多行註解用字元
/和/括起來。如果腳本引擎找不到開始註釋符號和結束註釋符號,則會顯示錯誤訊息,且腳本執行終止。
-
單行註解以兩個斜線 (
//) 開頭,以行尾字元結尾,您可以按 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 陳述式,執行也會停止。
|
執行腳本後,請檢視輸出窗格以檢查是否成功或發生錯誤。