變數準則
建立命令或資料來源類型時、您必須瞭解OnCommand Workflow Automation 到有關PowerShell和Perl變數的準則(WFA)。
PowerShell變數
準則 | 範例 |
---|---|
對於指令碼輸入參數:
|
$' Volume名稱' 「$AutoDelete選項」 $'大小' |
對於指令碼內部變數:
|
「$newVolume」 $qtreeName' $time |
對於功能:
|
「GetVolume大小」 |
變數名稱不區分大小寫。不過、為了提高讀取能力、您不應該對同一個名稱使用不同的大寫。 |
「$variable」與「$variable」相同。 |
變數名稱應為純英文、並應與指令碼的功能有關。 |
使用「$name」而非「$a」。 |
明確宣告每個變數的資料類型。 |
[str]名稱 [Int]大小 |
請勿使用特殊字元(!@#&%、.)和空格。 |
無 |
請勿使用PowerShell保留關鍵字。 |
無 |
先放置必要參數、然後再放置選用參數、即可將輸入參數分組。 |
param( [parameter(Mandatory=$true)] [string]$Type, [parameter(Mandatory=$true)] [string]$Ip, [parameter(Mandatory=$false)] [string]$VolumeName ) |
使用HelpMessage附註加上有意義的說明訊息來註解所有輸入變數。 |
[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變數
準則 | 範例 |
---|---|
對於指令碼輸入參數:
|
$' 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模組:
|
use Getopt::Long; use NaServer; use WFAUtil; |