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

變數準則

建立命令或資料來源類型時、您必須瞭解OnCommand Workflow Automation 到有關PowerShell和Perl變數的準則(WFA)。

PowerShell變數

準則 範例

對於指令碼輸入參數:

  • 使用Pascal案例。

  • 請勿使用底線。

  • 請勿使用縮寫。

$' Volume名稱'

「$AutoDelete選項」

$'大小'

對於指令碼內部變數:

  • 使用Camel Case。

  • 請勿使用底線。

  • 請勿使用縮寫。

「$newVolume」

$qtreeName'

$time

對於功能:

  • 使用Pascal案例。

  • 請勿使用底線。

  • 請勿使用縮寫。

「GetVolume大小」

變數名稱不區分大小寫。不過、為了提高讀取能力、您不應該對同一個名稱使用不同的大寫。

「$variable」與「$variable」相同

變數名稱應為純英文、並應與指令碼的功能有關。

使用「$name」而非「$a」

明確宣告每個變數的資料類型。

[str]名稱

[Int]大小

請勿使用特殊字元(!@#&%、.)和空格。

請勿使用PowerShell保留關鍵字。

先放置必要參數、然後再放置選用參數、即可將輸入參數分組。

param(
[parameter(Mandatory=$true)]
[string]$Type,

[parameter(Mandatory=$true)]
[string]$Ip,

[parameter(Mandatory=$false)]
[string]$VolumeName
)

使用「HelpMess_」附註加上有意義的說明訊息、來註解所有輸入變數。

[parameter(Mandatory=$false,HelpMessage="LUN to map")]
[string]$LUNName

請勿使用「'Filer'」做為變數名稱;請改用「'Array」。

如果參數獲得列舉值、請使用「ValidateSet'」註解。這會自動轉譯為參數的Enum資料類型。

[parameter(Mandatory=$false,HelpMessage="Volume state")]
[ValidateSet("online","offline","restricted")]
[string]$State

將別名新增至以「`_Capacity」結尾的參數、以表示參數為容量類型。

「Create Volume」命令使用別名如下:

[parameter(Mandatory=$false,HelpMessage="Volume increment size in MB")]
[Alias("AutosizeIncrementSize_Capacity")]
[int]$AutosizeIncrementSize

在以「`_Password」結尾的參數中新增別名、表示該參數為密碼類型。

param (
  [parameter(Mandatory=$false, HelpMessage="In order to create an Active Directory machine account for the CIFS server or setup CIFS service for Storage Virtual Machine, you must supply the password of a Windows account with sufficient privileges")]  [Alias("Pwd_Password")]  [string]$ADAdminPassword
)

Perl變數

準則 範例

對於指令碼輸入參數:

  • 使用Pascal案例。

  • 請勿使用底線。

  • 請勿使用縮寫。

$' Volume名稱'

「$AutoDelete選項」

$'大小'

請勿使用指令碼內部變數的縮寫。

$_new_volume

$qtree名稱

$time

請勿將縮寫用於功能。

"Get_Volume大小"

變數名稱區分大小寫。為了提高讀取能力、您不應使用相同名稱的不同大寫字母。

「$variable」與「$variable」不同

變數名稱應為純英文、並應與指令碼的功能有關。

使用「$name」而非「$a」

先放置必要參數、然後再放置選用參數、即可將輸入參數分組。

在GetOptions函數中、明確宣告輸入參數的每個變數資料類型。

GetOptions(
	"Name=s"=>\$Name,
	"Size=i"=>\$Size
)

請勿使用「'Filer'」做為變數名稱;請改用「'Array」。

Perl不包含列舉值的「ValidateSet」註釋。對於參數獲得列舉值的情況、請使用明確的「'if'」陳述式。

if
(defined$SpaceGuarantee&&!($SpaceGuaranteeeq'none'

$SpaceGuaranteeeq’volume'

$SpaceGuaranteeeq’file')) { die’Illegal SpaceGuarantee argument: \''.$SpaceGuarantee.'\''; } ----

所有Perl WFA命令都必須使用「嚴格」Pragma,以防止對變數、參考和子程序使用不安全的結構。

use strict;
# the above is equivalent to
use strictvars;
use strictsubs;
use strictrefs;

所有Perl WFA命令都必須使用下列Perl模組:

  • getopt

    這用於指定輸入參數。

  • WFAUtil

    此功能用於提供命令記錄、報告命令進度、連線至陣列控制器等公用程式功能。

use Getopt::Long;
use NaServer;
use WFAUtil;