일부 데이터를 열거하고 모든 경우에 스크립트 블록을 실행하는 PowerShell 함수를 만들려고합니다. 지금 내가 가지고함으로써매개 변수가있는 스크립트 블록이있는 PowerShell 함수
(이것은 실제 코드가 아니라 내 문제를 설명) :
function Invoke-TenTimes
{
[CmdletBinding()]
param
(
[Parameter(Mandatory=$true, Position=0)]
[ScriptBlock]$Action
)
process
{
$digits = 0..10
$digits | % {
$Action.Invoke($_);
}
}
}
내 모듈에이 기능을 넣어. 그러나 전화를 걸면 아무런 결과가 표시되지 않습니다.
Invoke-TenTimes { $_ }
출력 내용이 비어 있습니다 (아무 것도 표시되지 않음). 내가
Invoke-TenTimes { $_ -eq $null }
를 호출 할 경우
내가 10 true
를 얻을. 사실 $_
이 null이라는 것을 알았습니다.
$_
을 채우는 적절한 방법은 무엇입니까?
은 무엇 나를 미치게되어, 나는이 기능과 같은 PS1 파일, 작동에 전화를 넣어 (하지만 필요에 따라 스크립트 블록을 전달하려는) 경우이다 :
이function Invoke-TenTimes
{
[CmdletBinding()]
param
(
[Parameter(Mandatory=$true, Position=0)]
[ScriptBlock]$Action
)
process
{
$digits = 0..10
$digits | % {
$Action.Invoke($_);
}
}
}
Invoke-TenTimes { $_ }
감사! 이게 내 문제를 해결했고, 이제 $ _와 함께 스크립트 블록을 사용할 수있게되었습니다. :) –