파워셸 Alias (별명)
목차
alias (에일리어스)는 직역하면 별명, 별칭이라는 뜻 입니다. 그렇다면 파워셸의 Alias는 무슨 뜻 일까요? 예를 들어 cp는 cmdlet에서 Copy-Item과 같은 명령어입니다. Copy-Item 이러면 뜻은 명확하지만 타이핑 수가 많습니다. 그냥 cp 만으로도 Copy-Item과 똑같은 명령을 실행시킬 수 있다면 파워셸을 사용하는 사람들은 훨씬 편할 것 입니다. 일종의 단축키 같은 것 입니다.
파워셸에서는 많이 사용하는 명령어들을 alias로 만들어 놓고 있습니다. 다음의 명령어로 확인 가능합니다.
Get-Alias
cd 등 일부 명령프롬프트에서도 사용하던 alias도 있습니다.
cp (카피)의 예제를 한번 볼까요? 아래 명령어는 text.txt 파일을 cp-test.txt 이름의 파일로 복제합니다.
cp .\text.txt .\cp-test.txt
명령프롬프트와 닮은 듯 다르니까 잘 살펴볼 필요가 있습니다.
추가의 Alias를 사용자가 직접 만들 수도 있습니다. 만드는 방법은 간단합니다. Set-Alias를 사용합니다. 예를 들어 문자열을 출력하는 Write-Output의 alias를 만들어 보면…
Set-Alias print Write-Output
이제 print ‘hello world’로 확인해보면 콘솔에 문자열을 출력합니다.
주석(Comments)
주석은 파워셸 스크립트에 해설, 설명 등을 남기는 것 입니다. 스크립트의 제작자, 저작권, 목적, 기능 등 온갖 내용을 넣을 수 있습니다만, 다음 사람이 이 스크립트를 봤을 때 코드를 더 잘 이해할 수 있도록 합니다. 주석이 명확하면 유지보수와 재사용이 쉽지요.
주석은 다른 사람을 위해서 작성하기도 하지만 본인을 위한 것이기도 합니다. 지금 작성한 코드를 몇개월, 몇년 뒤에 수정해야 할 경우 내가 뭣때문에 이 코드를 작성했는지 기억을 못할 수도 있습니다. 아니 자기가 쓴 코드를 기억못하는 그 사람이 문제라고 할 수 있겠지만, 코드를 수개월만 작성해도 그 줄은 수천~수만 줄에 달할 수가 있기 때문에 까먹을 수도 있는 겁니다. 그래서 주석을 작성해야 하는 첫번째 이유는 자기를 위해서 입니다.
이건 ps1(파워셸 스크립트 파일) 파일을 작성할 때 해당하는 이야기입니다. 파워셸은 # 뒤에 내용이 주석입니다.
라인의 첫번째에 들어가면 그 라인은 전부 주석이고, 명령어 다음에 들어가면 그 다음이 주석, 그리고 <# 내용 #>으로 감싸면 다중 라인 주석입니다. (multiline comment) 예시는 다음과 같습니다.
#this is comments Write-Output 'Hello World' #this is comment <# this is multiple line comments #>
파이프(pipe)
파이프는 cmdlet 간의 데이터를 전달합니다. | 표시는 앞의 cmdlet의 결과를 뒤의 cmdlet으로 전달한다는 의미입니다.
다음의 코드는 현재 윈도우 프로세스 중에 이름이 brave인 내용들만 출력합니다.
Get-Process | where {$_.ProcessName -eq "brave"}
간단하게는 문자열을 파일에 출력하는 것부터 파이프 기능을 사용할 수 있습니다. 아래는 문자열을 파일에 출력합니다.
"out-file test" | Out-File .\.out-test.txt
요약
파워셸의 기초 내용인 Alias, 주석, 파이프 들을 간단하게 알아봤습니다.