PowerShell에서 "@" 기호는 무엇을 합니까?
나는 본 적이 있습니다.@
PowerShell에서 배열을 초기화하는 데 사용되는 기호입니다.
정확히 무엇을 하는 것입니까?@
기호는 표시하고 어디에서 더 자세히 읽을 수 있습니까?
PowerShell V2에서 @는 또한 스플랫 연산자입니다.
PS> # First use it to create a hashtable of parameters:
PS> $params = @{path = "c:\temp"; Recurse= $true}
PS> # Then use it to SPLAT the parameters - which is to say to expand a hash table
PS> # into a set of command line parameters.
PS> dir @params
PS> # That was the equivalent of:
PS> dir -Path c:\temp -Recurse:$true
PowerShell은 실제로 쉼표로 구분된 목록을 배열로 처리합니다.
"server1","server2"
따라서 이러한 경우 @는 선택 사항입니다.그러나 연관 배열의 경우 @가 필요합니다.
@{"Key"="Value";"Key2"="Value2"}
공식적으로 @는 "배열 연산자"입니다.자세한 내용은 PowerShell과 함께 설치된 설명서나 Windows PowerShell: TFM(Windows PowerShell: TFM)에서 확인할 수 있습니다.
위의 답변은 대부분의 답변을 제공하지만, 질문에 이 정도로 늦은 경우에도 전체 답변을 제공하고 다음과 같은 정보를 제공하는 것이 유용합니다.
배열 하위 표현식(_arrays 정보 참조)
예인들어싱글톤또는경값우도다에배지을정)이라도 값을 배열로 지정합니다.$a = @(ps | where name -like 'foo')
해시 이니셜라이저(_hash_tables 정보 참조)
쌍을 하여 해시 예를 들어, "-" - " "는 " " " 입니다.$HashArguments = @{ Path = "test.txt"; Destination = "test2.txt"; WhatIf = $true }
분할(_분할 정보 참조)
하여 보다 을 호출해 예를 들어, 바로 위의 해시 테이블을 사용하여Copy-Item @HashArguments
여기 문자열(_quoteing_rules에 대한 정보 참조)
일반적으로 다중 줄 문자열에 사용되는 쉽게 포함된 따옴표를 사용하여 문자열을 만들 수 있습니다. 예를 들어 다음과 같습니다.
$data = @"
line one
line two
something "quoted" here
"@
이러한 유형의 질문(PowerShell에서 'x' 표기법은 무엇을 의미합니까?)은 StackOverflow와 많은 독자 의견에서 매우 일반적이기 때문에 PowerShell 구두점의 사전을 Simple-Talk.com 에 게시했습니다.PowerShell 구두점에 대한 전체 가이드에서 @, %, #, $_ 및 ? 등에 대한 모든 내용을 읽어 보십시오.기사에 첨부된 이 차트는 한 장에 모든 것을 제공합니다.
파이프라인을 cmdlet(으)로 묶을 수도 .@()
하나의 항목이 아니라 하나의 배열로 반환됩니다.
예를 들어 dir는 일반적으로 목록을 반환하지만 옵션에 따라 단일 개체를 반환할 수 있습니다.각 개체에 대해 결과를 반복할 계획이라면 목록을 다시 가져와야 합니다.고안된 예는 다음과 같습니다.
$results = @( dir c:\autoexec.bat)
한 가지 더...(변수를 초기화하는 것과 같은) 빈 배열이 표시됩니다.@()
.
스플랫 오퍼레이터
배열을 만들기 위해 변수를 만들고 배열을 할당합니다.배열은 "@" 기호로 표시됩니다.위에서 설명한 내용을 참고하여 어레이를 사용하여 여러 원격 컴퓨터에 연결해 보겠습니다.
$strComputers = @("Server1", "Server2", "Server3")<enter>
배열 및 해시에 사용됩니다.
PowerShell 튜토리얼 7: 데이터 축적, 호출 및 수정
저는 이것이 그것을 조금 더 잘 이해하는 데 도움이 되기를 바랍니다.키 내에 "값"을 저장하고 해당 값을 반환하여 작업을 수행할 수 있습니다.이 경우 나는 방금 @{a=";b=";c=";}를 제공했고, 옵션(예: "keys"(a, b 또는 c)에 없으면 값을 반환하지 않습니다.
$array = @{
a = "test1";
b = "test2";
c = "test3"
}
foreach($elem in $array.GetEnumerator()){
if ($elem.key -eq "a"){
$key = $elem.key
$value = $elem.value
}
elseif ($elem.key -eq "b"){
$key = $elem.key
$value = $elem.value
}
elseif ($elem.key -eq "c"){
$key = $elem.key
$value = $elem.value
}
else{
Write-Host "No other value"
}
Write-Host "Key: " $key "Value: " $value
}
언급URL : https://stackoverflow.com/questions/363884/what-does-the-symbol-do-in-powershell
'code' 카테고리의 다른 글
파이썬 팬더에서 열의 dtype을 확인하는 방법. (0) | 2023.06.22 |
---|---|
gitgrep 검색에서 특정 디렉터리/파일을 제외하는 방법 (0) | 2023.06.22 |
Oracle 오류: ORA-00905:키워드 누락 (0) | 2023.06.17 |
VB.net 을 사용하여 Excel의 범위에 있는 셀에서 테두리를 제거하는 방법은 무엇입니까? (0) | 2023.06.17 |
Firestore가 하나의 쿼리를 사용하여 조건에 맞는 여러 문서를 업데이트할 수 있습니까? (0) | 2023.06.17 |