powershell에서 마침표 '.' 연산자는 무엇을 합니까?
이건 이상한 거예요.는 일적으파외명부실때사다용합니행할령을 합니다.&
다음과 같은 연산자:
& somecommand.exe -p somearguments
하지만, 오늘 저는 우연히 발견했습니다..
연산자는 다음과 같이 사용됩니다.
.$env:systemdrive\chocolatey\chocolateyinstall\chocolatey.cmd install notepadplusplus
이 시나리오에서 기간은 어떤 목적으로 사용됩니까?이해가 잘 안 돼요.
"." 점 소싱 연산자는 사용자가 호출한 다른 스크립트에서 변수를 보내고 받습니다.&" 호출 연산자는 변수만 전송합니다.
예를 들어, 다음을 고려합니다.
스크립트 1(call-operator.ps1):
clear
$funny = "laughing"
$scriptpath = split-path -parent $MyInvocation.MyCommand.Definition
$filename = "laughing.ps1"
"Example 1:" # Call another script. Variables are passed only forward.
& $scriptpath\$filename
"Example 2:" # Call another script. Variables are passed backwards and forwards.
. $scriptpath\$filename
$variableDefinedInOtherScript
스크립트 2(웃음.ps1):
# This is to test the passing of variables from call-operator.ps1
"I am $funny so hard. Passing variables is so hilarious."
$variableDefinedInOtherScript = "Hello World!"
두 스크립트를 모두 생성하고 첫 번째 스크립트만 실행합니다."." 점 소싱 연산자가 변수를 보내고 받는 것을 볼 수 있습니다.
둘 다 용도가 있으니 창의력을 발휘하세요.예를 들어, "&" 호출 연산자는 현재 스크립트에서 원래 값을 유지하면서 다른 스크립트에서 변수 값을 수정하려는 경우 유용합니다.일종의 보호 장치. ;)
요약: 일반 운영자가 달성할 수 없는 것을 달성하기 위해 사용되는 특수 운영자입니다.이 연산자.
두 개의 서로 다른 특수 운영자 사용 사례가 있습니다.
더 롱:
다른 언어, 스크립트 또는 기타 언어와 마찬가지로 PowerShell 스크립트는 값을 조작하는 데 도움이 되는 다양한 유형의 연산자도 지원합니다.이러한 정규 연산자에는 다음이 포함됩니다.
- 산술
- 과제
- 비교
- 논리적
- 리디렉션
- 리스트 항목
- 분할 및 결합
- 유형
- 유니아리
그러나 PowerShell은 다른 유형의 운영자가 수행할 수 없는 태스크를 수행하는 데 사용되는 특수 운영자도 지원합니다.
이러한 특수 운영자에는 다음이 포함됩니다.
@()
하위 연산자는 다음과 같습니다.&
교환원[ ]
,
.
소싱 는 다음과 .-f
연산자[ ]
연산자|
이름.
취소 는 다음과 같습니다...
::
멤버 는 다음과 같습니다.$( )
표현 는 다음과 같습니다.
.
도트 소싱 연산자: 이 컨텍스트에서는 스크립트를 현재 범위에서 실행할 수 있도록 하는 데 사용되며 스크립트에서 생성한 함수, 별칭 및 변수를 현재 스크립트에 추가할 수 있습니다.
예:
. c:\scripts.sample.ps1
참고: 이 응용 프로그램은 다음과 같습니다..
(으)와할 수 있는 ..
디렉터리를 )입니다.
예:
. .\sample.ps1
.
속성 참조 취소 연산자:다음을 따르는 개체의 속성 및 메서드에 액세스할 수 있습니다..
왼쪽에 있는 표현식을 나타냄으로써.
문자는 개체이고 의 오른쪽에 있는 식은 개체 멤버(속성 또는 메서드)입니다.
예:
$myProcess.peakWorkingSet
(get-process PowerShell).kill()
고지 사항 및 출처:
PowerShell 스크립트를 보는 동안 동일한 질문이 있었는데, 이 스크립트의 기능 세트를 확장하려고 시도하다가 답을 찾기 위해 조사를 수행할 때 여기에 도착했습니다.하지만 저는 Microsoft Development Network에 대한 이 멋진 글을 사용하여 IT Pro의 동일한 아이디어에 대한 추가 확장을 통해 제 답을 찾을 수 있었습니다.
건배.
점은 호출 연산자입니다.
$a = "Get-ChildItem"
. $a # (executes Get-ChildItem in the current scope)
하지만, 당신의 경우, 저는 그것이 무엇을 하는지 모르겠습니다.
객체 속성에 대한 .Period 또는 .full stop(예:
$CompSys.TotalPhysicalMemory
다음을 참조하십시오. http://www.computerperformance.co.uk/powershell/powershell_syntax.htm#Operators_
이 대답은 David Brabant와 그의 논평가들이 이미 제공한 것들을 약간 확장하는 것입니다.그 발언들이 모두 사실이고 적절하지만, 놓친 것이 있습니다.
의 OP &
외부 명령을 호출할 필요가 없는 경우. &
(그의 사용 예에) 영향을 미치지 않을 것입니다.의 은?&
이름이 (문자열) 식의 값인 명령을 호출할 수 있습니다.를 &
를 (하며, 첫 인 "powershell", "powershell" ("powershell"), "powershell", "powershell"입니다.&
정식으로 호출합니다.에 약에만.&
powershell은 라인의 첫 번째 항목을 실행할 명령으로 사용합니다.
하만지그, 그..
두 번째 예에서는 필요합니다(그러나 다른 사람들에 의해 언급된 바와 같이).&
이 경우에도 마찬가지로 효과적입니다.명령어가 됩니다.$env:systemdrive
형태의 입니다.) 그래서 파워셸은 어떤 형태의 표현을 기대하고 있을 것입니다.그러나 변수 참조 바로 뒤에는 올바른 식이 아니므로 오류가 발생하는 베어 파일 경로가 있습니다.를 .
(또는)&
부분이 않기 에) 는 확장로 처리됩니다." "
은 )로 따라서 명령줄은 다음과 같이 처리됩니다.
. "$env:systemdrive\chocolatey\chocolateyinstall\chocolatey.cmd" "install" "notepadplusplus"
번째 는 " 번주장은째"입니다.$env:systemdrive
에 그으로대다체음에된것다▁substit음에▁then..
이렇게 명명된 프로그램을 호출합니다.
참고: powershell이 명령줄 인수를 처리하는 방법에 대한 전체 설명은 여기에 제시된 것보다 훨씬 복잡합니다.이 버전은 질문에 답하는 데 필요한 필수적인 부분으로 축소되었습니다.포괄적인 설명은 about_Parsing을 참조하십시오.완전하지는 않지만 대부분의 일반적인 사용법을 다루어야 합니다.스택 오버플로 및 깃허브(현재 파워셸이 있는 곳)에는 공식 문서에 나열되지 않은 겉보기에 특이한 동작을 다루는 다른 게시물이 있습니다.또 다른 유용한 리소스는 _Operators에 대한 것이지만 아직 완전하지는 않습니다.예를 들어 다음과 같습니다..
그리고.&
파워셸 스크립트/슬립렛이 아닌 다른 것을 호출할 때 전혀 언급되지 않습니다.
언급URL : https://stackoverflow.com/questions/10727006/what-does-the-period-operator-do-in-powershell
'programing' 카테고리의 다른 글
SQL의 하위 쿼리에 대한 TAB를 언제 추가해야 합니까? (0) | 2023.07.30 |
---|---|
부트스트랩의 "col-md-4", "col-xs-1", "col-lg-2"에 있는 숫자의 의미 (0) | 2023.07.30 |
CGPoint 데이터를 사용한 NSLog (0) | 2023.07.30 |
스프링: 특정 콩을 먼저 초기화해야 합니다. (0) | 2023.07.30 |
아나콘다의 스파이더를 업데이트하는 방법 (0) | 2023.07.30 |