Skip to main content
OnCommand Workflow Automation 5.1
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

변수에 대한 지침

기여자

명령 또는 데이터 소스 유형을 생성할 때 WFA(OnCommand Workflow Automation)에서 PowerShell 및 Perl 변수에 대한 지침을 숙지해야 합니다.

PowerShell 변수

지침

스크립트 입력 매개 변수의 경우:

  • 파스칼 케이스를 사용합니다.

  • 밑줄을 사용하지 마십시오.

  • 약어는 사용하지 마십시오.

'$VolumeName'

'$AutoDeleteOptions'

'$Size'

스크립트 내부 변수:

  • Camel 케이스를 사용합니다.

  • 밑줄을 사용하지 마십시오.

  • 약어는 사용하지 마십시오.

'$newVolume'

"$qtreeName"

`$time'

기능:

  • 파스칼 케이스를 사용합니다.

  • 밑줄을 사용하지 마십시오.

  • 약어는 사용하지 마십시오.

'GetVolumeSize'

변수 이름은 대/소문자를 구분하지 않습니다. 그러나 가독성을 높이기 위해 같은 이름에 다른 대/소문자를 사용하지 않아야 합니다.

'$variable'은(는) '$Variable'과(와) 같습니다

변수 이름은 영문으로 되어 있어야 하며 스크립트의 기능과 관련이 있어야 합니다.

'$a'가 아니라 '$name'을(를) 사용합니다

각 변수의 데이터 형식을 명시적으로 선언합니다.

[string] 이름입니다

[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

파일러를 변수 이름으로 사용하지 말고 대신 배열(Array)을 사용하십시오.

없음

인수가 열거형 값을 가져오는 경우 `ValidateSet' 주석을 사용합니다. 그러면 해당 매개 변수의 Enum 데이터 형식이 자동으로 변환됩니다.

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

매개 변수가 용량 유형임을 나타내기 위해 ""_Capacity"로 끝나는 매개 변수에 별칭을 추가합니다.

""볼륨 작성" 명령은 다음과 같이 별칭을 사용합니다.

[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 변수

지침

스크립트 입력 매개 변수의 경우:

  • 파스칼 케이스를 사용합니다.

  • 밑줄을 사용하지 마십시오.

  • 약어는 사용하지 마십시오.

'$VolumeName'

'$AutoDeleteOptions'

'$Size'

스크립트 내부 변수에는 약어를 사용하지 마십시오.

'$new_volume'

'$qtree_NAME'

`$time'

기능에 약어를 사용하지 마십시오.

'get_volume_size'입니다

변수 이름은 대/소문자를 구분합니다. 가독성을 향상시키려면 같은 이름에 다른 대/소문자를 사용하지 않아야 합니다.

'$variable'은(는) '$Variable'과(와) 같지 않습니다

변수 이름은 영문으로 되어 있어야 하며 스크립트의 기능과 관련이 있어야 합니다.

'$a'가 아니라 '$name'을(를) 사용합니다

필수 매개변수를 먼저 배치한 다음 선택적 매개변수를 사용하여 입력 매개변수를 그룹화합니다.

없음

GetOptions 함수에서 입력 매개 변수에 대한 각 변수의 데이터 형식을 명시적으로 선언합니다.

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

파일러를 변수 이름으로 사용하지 말고 대신 배열(Array)을 사용하십시오.

없음

Perl에는 열거 값에 대한 'ValidateSet' 주석이 포함되지 않습니다. 인수가 열거 값을 갖는 경우에는 명시적 ""if"" 문을 사용합니다.

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

$SpaceGuaranteeeq'volume'

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

모든 Perl WFA 명령은 변수, 참조 및 서브루틴에 안전하지 않은 구조를 사용하지 않도록 "strict" 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;