Skip to main content
SANtricity software
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用腳本編輯器

貢獻者 netapp-driley

使用 Script 編輯器建立或編輯腳本檔案、將腳本檔案儲存至儲存管理站的本機磁碟,或從磁碟載入腳本檔案。

開始之前

腳本編輯器與儲存陣列通信,以實現腳本語法檢查和命令執行。在腳本編輯器中輸入的腳本命令通常會在儲存陣列上執行。

腳本編輯器在視窗中提供兩種檢視:

  • 編輯器窗格 – 提供輸入或編輯指令碼命令的區域。

  • 輸出窗格 – 顯示驗證或執行結果。分隔條將視窗分為編輯器窗格和輸出窗格。

  • 腳本編輯器不支援需要輸入檔案的命令,例如控制器韌體、NVSRAM 或磁碟機韌體升級。

  • 腳本編輯器支援產生輸出檔案的命令。

  • 有些命令需要在用戶端執行 (用戶端命令)。

    • 此版本僅支援的客戶端命令為 on error stopon error continue

    • 如果嘗試執行任何其他用戶端命令,指令碼編輯器將產生錯誤。

開啟指令碼編輯器

步驟
  1. 從左側面板中,選擇功能表:Support [Script editor]。

    下表列出了 Script 編輯器中可用的檔案選項:

    欄位詳細資料
    任務 行動

    開啟新腳本

    1. 點擊 Load script file 將現有腳本檔案上傳到 Script editor 。

      Script 編輯器會在編輯器窗格中開啟選定的 script 檔案。

    驗證指令碼命令語法

    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 將腳本窗格中的變更下載為新的腳本檔案。

    清除腳本編輯器的編輯器窗格中的文字

    1. 按一下 Clear editor 以清除編輯器窗格中的文字。

    將輸出結果儲存到本機檔案

    1. 按一下 Save results 將輸出窗格的內容下載為新檔案。

在腳本編輯器中編寫腳本

開始之前

使用 Script editor 編寫腳本指令時,請務必遵循下列準則:* 所有語句均以分號(;)結尾。* 每個基本指令及其關聯的主參數和輔助參數之間以空格分隔。* 在 Script editor 中輸入參數時,參數不區分大小寫。* 每個語句應單獨佔一行。* 在腳本中加入註釋,以便您和未來的使用者更容易理解指令語句的用途。

步驟
  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 陳述式,執行也會停止。
結果

執行腳本後,請檢視輸出窗格以檢查是否成功或發生錯誤。