PowerShell의 문자열 조합 방법

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

PowerShell에서는 다른 스크립트 언어와 마찬가지로 + 연산자를 이용하여 문자열을 붙일 수 있습니다. + 연산자는 이어 붙이는 문자열이 길어 질 수록 알아보기 힘들다는 단점이 있습니다.

+ 연산자 사용

$text = "현재 시각 : " + (Get-Date)

+ 연산자를 사용하여 "현재 시각 : " 이라는 문자열과 Get-Date의 출력 결과를 붙일 수 있습니다.

"" 따옴표 안에 포함

$text = "현재 시각 : $(Get-Date)"

PowerShell에서는 "" 따옴표 안에 변수($)가 있으면 문자열이 아닌 변수 그 자체로 인식하도록 되어 있습니다. Get-Date는 $(Get-Date) 처럼 출력 결과를 변수 형태로 만들어줍니다. 물론 이것은 아래와 동일합니다.

$date = Get-Date
$text = "현재 시각 : $date"

여러 줄을 출력하고자 할 때는 어떻게 해야 할까요?

+ 연산자를 이용한 여러 줄 출력

$num1 = 10
$num2 = 20
$text = "num1 : " + $num1 + "`r`n" + "num2 : " + $num2

+ 연산자를 사용하면서 중간에 값이 있을 때에는 이처럼 변수를 + 해주고 개행 문자인 `r`n(CR LF)을 붙여줍니다.

"" 따옴표 안에 포함

$num1 = 10
$num2 = 20
$text = "num1 : $num1`r`nnum2 : $num2"

물론 변수와 `r`n도 따옴표 안에 포함할 수 있습니다.

"" 따옴표 안에 포함하면서 여려 줄을 변수에 대입

$num1 = 10
$num2 = 20
$text = @"
num1 : $num1
num2 : $num2
"@

@" "@를 사용하면 변수에 여러 줄을 대입 할 수 있습니다. 이 때에는 `r`n으로 개행 문자를 넣어주지 않고 스크립트 상에 입력하는 그대로 개행이 이루어집니다.

연산 결과 붙이기

$num1 = 10
$num2 = 20
$text = @"
num1 : $num1
num2 : $num2
num1 + num2 = $($num1 + $num2)
"@

앞서 Get-Date를 $(Get-Date)로 사용했던것과 마찬가지로 변수간 연산도 $($num1 + $num2) 처럼 $( ) 안에 넣어주면 됩니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2010-09-05