Powershell/엉스데브

PowerShell 스크립트 작성시 주석 달기

알 수 없는 사용자 2010. 7. 22. 13:58
안녕하세요. 엉스데브 입니다.

대부분의 프로그래밍 언어와 마찬가지로, PowerShell 스크립트 역시 내부에 주석을 달아 둘 수 있습니다.

주석이란, 프로그램 혹은 스크립트가 실행 될 때 무시되는 부분으로, 주로 스크립트의 흐름이나 각 부분의 역할 등을 설명하는 내용의 문자열로 이루어 집니다.

PowerShell 로 스크립트를 작성시 주석을 넣으려면, #(샵) 문자를 주석 맨 앞에 넣어주면 됩니다.
아래 예제를 살펴 봅시다. 청록색 글씨 부분이 주석입니다.
# show_uptime.ps1 { $Machine }
# 지정 한 서버의 uptime 을 출력합니다.


param([string] $Machine = ".")

# Win32_OperationSystem 오브젝트를 변수에 저장.
$OS = Get-WmiObject Win32_OperatingSystem -ComputerName $Machine

# 시스템 관리용 시간 값을 일반적인 시간 값으로 변경하여 변수에 저장.
$LastBootUpTime = [System.Management.ManagementDateTimeconverter]::ToDateTime($OS.LastBootUpTime)

# 현재 시간을 구함.
$Now = Get-Date

# Uptime 계산.
$UpTime = $Now - $LastBootUpTime

# 각 값을 계산하여 string 형식으로 변환 후 출력
[string]$UpTime.Days + " Days, " + [string]$UpTime.Hours + " Hours, " + [string]$UpTime.Minutes + " Minutes."

만약, 여러 줄의 주석을 넣고자 할 경우에는 <# #> 과 같은 형태로 감싸주면 됩니다. 아래 예제를 참고하세요.
<#
  여러 줄을 주석처리 하고 싶을 때
  이렇게 감싸주면 됩니다.
#>

<# 여러줄이 아니어도 상관은 없습니다. #>

<# 이런식으로도
    주석 처리가 됩니다. #>



스크립트를 작성 도중, 잠시 실행이 되지 않도록 처리 하고 싶은 부분이 있을 때에도 주석은 유용하게 사용 됩니다.
# $Machine = "."
$Machine = "MyServer01"

<#
$OS = Get-WmiObject Win32_OperatingSystem -ComputerName $Machine
$LastBootUpTime = [System.Management.ManagementDateTimeconverter]::ToDateTime($OS.LastBootUpTime)
#>


$LastBootUpTime = [System.Management.ManagementDateTimeconverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem -ComputerName .).LastBootUpTime)

이상 PowerShell 에서 주석을 다는 방법을 알아 보았습니다.

주석은 스크립트의 내용 파악 및 이해를 쉽게 해 주기 때문에
나중에 다른사람이 스크립트를 재사용 하거나 유지 보수 작업을 할 때 크게 도움이 됩니다.
또 아무리 본인이 만든 스크립트라도 6개월, 1년 정도 지나면 파악이 쉽지 않은 경우가 많기 때문에, 본인에게도 크게 도움이 됩니다.

때문에 적절한 주석을 달아 두는 작업은 매우 중요합니다. 귀찮더라도 주석을 잘 달아 둡시다!