수색…


소개

연산자는 동작을 나타내는 문자입니다. 컴파일러 / 인터프리터에게 특정 수학적, 관계 적 또는 논리적 연산을 수행하고 최종 결과를 산출하도록 지시합니다. PowerShell은 산술 연산자가 주로 숫자에 대한 연산을 수행하는 것처럼 특정 방식으로 해석하고 그에 따라 분류하지만 문자열 및 기타 데이터 형식에도 영향을줍니다. PowerShell에는 기본 연산자와 함께 시간과 코딩 작업을 줄이는 여러 연산자가 있습니다 (예 : -like, -match, -replace 등).

산술 연산자

1 + 2      # Addition
1 - 2      # Subtraction
-1         # Set negative value
1 * 2      # Multiplication
1 / 2      # Division
1 % 2      # Modulus
100 -shl 2 # Bitwise Shift-left
100 -shr 1 # Bitwise Shift-right

논리 연산자

-and # Logical and
-or  # Logical or
-xor # Logical exclusive or
-not # Logical not
!    # Logical not

배정 연산자

단순 산술 :

$var = 1      # Assignment. Sets the value of a variable to the specified value
$var += 2     # Addition. Increases the value of a variable by the specified value
$var -= 1     # Subtraction. Decreases the value of a variable by the specified value
$var *= 2     # Multiplication. Multiplies the value of a variable by the specified value
$var /= 2     # Division. Divides the value of a variable by the specified value
$var %= 2     # Modulus. Divides the value of a variable by the specified value and then
              # assigns the remainder (modulus) to the variable

증가 및 감소 :

$var++   # Increases the value of a variable, assignable property, or array element by 1
$var--   # Decreases the value of a variable, assignable property, or array element by 1

비교 연산자

PowerShell 비교 연산자는 대시 ( - ) 뒤에 이름 ( eqequal , gtgreater than ... 등)으로 구성됩니다.

연산자의 동작을 수정하려면 이름 앞에 특수 문자를 사용할 수 있습니다.

i # Case-Insensitive Explicit (-ieq)
c # Case-Sensitive Explicit (-ceq)

대소 문자를 구분하지 않으면 기본값 ( "a"-eq "A")과 동일합니다 ( "a"-ieq "A").

간단한 비교 연산자 :

2 -eq 2    # Equal to (==)
2 -ne 4    # Not equal to (!=)
5 -gt 2    # Greater-than (>)
5 -ge 5    # Greater-than or equal to (>=)
5 -lt 10   # Less-than (<)
5 -le 5    # Less-than or equal to (<=)

문자열 비교 연산자 :

"MyString" -like "*String"            # Match using the wildcard character (*)
"MyString" -notlike "Other*"          # Does not match using the wildcard character (*)
"MyString" -match "$String^"          # Matches a string using regular expressions
"MyString" -notmatch "$Other^"        # Does not match a string using regular expressions

콜렉션 비교 연산자 :

"abc", "def" -contains "def"            # Returns true when the value (right) is present
                                        # in the array (left)
"abc", "def" -notcontains "123"         # Returns true when the value (right) is not present
                                        # in the array (left)
"def" -in "abc", "def"                  # Returns true when the value (left) is present
                                        # in the array (right)
"123" -notin "abc", "def"               # Returns true when the value (left) is not present
                                        # in the array (right)

리디렉션 연산자

성공 출력 스트림 :

cmdlet > file     # Send success output to file, overwriting existing content
cmdlet >> file    # Send success output to file, appending to existing content
cmdlet 1>&2       # Send success and error output to error stream

오류 출력 스트림 :

cmdlet 2> file    # Send error output to file, overwriting existing content
cmdlet 2>> file   # Send error output to file, appending to existing content
cmdlet 2>&1       # Send success and error output to success output stream

경고 출력 스트림 : (PowerShell 3.0 이상)

cmdlet 3> file    # Send warning output to file, overwriting existing content
cmdlet 3>> file   # Send warning output to file, appending to existing content
cmdlet 3>&1       # Send success and warning output to success output stream

자세한 출력 스트림 : (PowerShell 3.0 이상)

cmdlet 4> file    # Send verbose output to file, overwriting existing content
cmdlet 4>> file   # Send verbose output to file, appending to existing content
cmdlet 4>&1       # Send success and verbose output to success output stream

디버그 출력 스트림 : (PowerShell 3.0 이상)

cmdlet 5> file    # Send debug output to file, overwriting existing content
cmdlet 5>> file   # Send debug output to file, appending to existing content
cmdlet 5>&1       # Send success and debug output to success output stream

정보 출력 스트림 : (PowerShell 5.0 이상)

cmdlet 6> file    # Send information output to file, overwriting existing content
cmdlet 6>> file   # Send information output to file, appending to existing content
cmdlet 6>&1       # Send success and information output to success output stream 

모든 출력 스트림 :

cmdlet *> file    # Send all output streams to file, overwriting existing content
cmdlet *>> file   # Send all output streams to file, appending to existing content
cmdlet *>&1       # Send all output streams to success output stream

파이프 연산자와의 차이점 ( | )

리디렉션 연산자는 스트림을 파일 또는 스트림을 스트림으로 리디렉션 만합니다. 파이프 연산자는 파이프 라인을 따라 개체를 cmdlet 또는 출력으로 펌핑합니다. 파이프 라인의 작동 방식은 일반적으로 리디렉션 작동 방식과 다르며 PowerShell 파이프 라인 작업

혼합 피연산자 유형 : 왼쪽 피연산자 유형이 동작을 결정합니다.

추가

"4" + 2         # Gives "42"
4 + "2"         # Gives 6
1,2,3 + "Hello" # Gives 1,2,3,"Hello"
"Hello" + 1,2,3 # Gives "Hello1 2 3"

곱셈을 위해

"3" * 2   # Gives "33"
2 * "3"   # Gives 6
1,2,3 * 2 # Gives 1,2,3,1,2,3
2 * 1,2,3 # Gives an error op_Multiply is missing

영향은 비교 연산자에 대한 결과를 숨길 수 있습니다.

$a = Read-Host "Enter a number"
Enter a number : 33
$a -gt 5
False

문자열 조작 연산자

대치 연산자 :

-replace 연산자는 정규 표현식을 사용하여 입력 값의 패턴을 바꿉니다. 이 연산자는 정규 표현식 패턴과 대체 값 (선택적이며 선택적으로 빈 문자열)을 쉼표로 구분하여 두 개의 인수를 사용합니다.

"The rain in Seattle" -replace 'rain','hail'        #Returns: The hail in Seattle
"[email protected]" -replace '^[\w]+@(.+)', '$1'  #Returns: contoso.com

분할 및 결합 연산자 :

-split 연산자는 문자열을 하위 문자열 배열로 나눕니다.

"A B C" -split " "      #Returns an array string collection object containing A,B and C.

-join 연산자는 문자열 배열을 단일 문자열로 조인합니다.

"E","F","G" -join ":"   #Returns a single string: E:F:G


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow