-
[PowerShell 기초] 4. 연산자(Operator)Shell & CMD/PowerShell 2021. 12. 11. 20:19반응형
1. 연산자란?
지난 시간엔 변수에 대한 기본적인 개념과 활용도를 간단히 살펴보았다. 변수를 살펴보면서 1개 이상의 숫자 변수에 덧셈(+) 기호를 통해 숫자를 연산했던 것을 기억할 것이다. 이것을 산술연산자(Arithmetic Operators) 라고 하는데 용어가 생소하더라도 +,-,*,/,% 기호가 숫자나 문자를 만났을 때 어떠한 동작을 취하게 될지 개발자라면 익숙할 것이다.
2. 산술연산자(Arithmetic Operators)
주로 숫자를 계산하거나 문자열을 편집할 때 사용한다. 수학을 배울 때 사용하는 기호(+, -, *, /, %)가 여기 포함된다.
$a = 10 $b = 20 $c = $a + $b # $a, $b 를 더하는(+) 기호를 산술연산자 라고 한다.
3. 할당연산자(Assignment Operators)
대입연산자라고 하며 주로 변수에 값을 할당 할 때 사용한다. 수학을 배울 때 사용하는 기호(=)가 여기에 포함되며, 산술연산자의 조합(-=, += 등)을 이용해 연산과 동시에 대입을 처리하는 경우도 있다.
$a=10 # 기본 대입연산자 예시
$a=5 $a+=10 $a # 해당 변수의 결과는 15 이다.
문자열도 가능하다.
$s="Windows" $s += "PowerShell" $s # 해당 변수의 결과는 "WindowsPowerShell" 이다.
4. 비교연산자(Comparison Operators)
2개 이상의 값을 비교하여 참(true)과 거짓(false)를 비교하는데 사용한다. 일반적인 개발 언어에선 2개의 값 사이에 ==, !=, >,< 등의 기호를 사용하지만 Powershell에선 -eq, -ne, -gt 등 하이픈(-)으로 시작하는 예약어로 구성되어 있다.
$a=10 $b=10 ($a -eq $b)
5. 논리연산자(Logical Operators)
논리연산자는 2개 이상의 비교연산을 이어 모두 참(=and)이거나 1개라도 참(=or)일 때 판별하는 연산자를 의미한다. 비교연산자와 마찬가지로 하이픈(-)으로 시작하는 예약어로 구성되어 있다.
$a=10 $b=20 ($a -lt $b) -and ($a -eq 10)
6. 리디렉션 연산자(Redirection Operators)
명령 결과를 텍스트 파일로 내보낼 때 사용한다. >, >> 를 사용하며, bash의 명령 결과 출력 개념과 비슷하다.
# Get-childitem 명령어를 통해 명령어를 실행한 위치의 하위 폴더 및 파일정보를 txt로 저장. Get-childitem > childitems.txt
7. 분할 및 조인 연산자(Split and Join Operators)
split및 join 연산자는 부분string을 나누고 결합 할 때 사용한다. .NET의 Split() 및 string.Join() 함수와 유사하다.
8. 형식 연산자(Type Operators)
.NET의 is , as 개념을 가진 연산자이다. -is, -isnot, -as 를 사용한다.
1 -is [System.Int32] # true를 반환한다.
9. 특수 연산자
특수 연산자는 직접적인 연산이 아닌 Powershell의 다른 연산 또는 명령어를 이어서 실행시켜주는 파이프라인(|)이이나 .NET의 static 한 멤버변수들을 가져올 때 사용하는 연산자(::) 등을 통틀어 일컫는 말이다.
특수연산자에 대한 정리는 MS 공식 문서에 자세히 정리되어 있다.
요약
Powershell은 셸 연산자 + 개발언어 연산자 두 개념이 모두 존재하며, 연산자를 잘 조합하여 특정 조건에 맞는 프로세스를 종료하거나 로그를 기록하는 등 자동화된 환경 구축에 도움이 될 수 있다.
출처 및 참조 :
반응형'Shell & CMD > PowerShell' 카테고리의 다른 글
[PowerShell 기초] 6. Powershell 프로필 설정 (0) 2021.12.26 [PowerShell 기초] 5. 필터 및 정렬 (0) 2021.12.12 [PowerShell 기초] 3. 변수(Variables) (0) 2021.12.05 [PowerShell 기초] 2. cmdlet 명령어 기초 (0) 2021.11.28 [PowerShell 기초] 1. 파워셸(Powershell) 이란 (0) 2021.11.28