Powershell功能开关

我正在尝试创建一个准记录函数,并将函数参数作为变量传递给可能的输出。

Function Get-Function($continue) {
    if (!$error) {
        Write-Host "pass"
    } else {
        $continue
    }
}

Get-Function -continue $("$(write-host)success")

如果有错误,它将输出success标志后面列出的-continue

但是此版本由于管道错误:

Get-Function -continue $("$(Write-Host)success") | Write-Host "this fails"

它在管道之后创建一个错误。

q273225308 回答:Powershell功能开关

对于这个问题我有点困惑,但是它失败了,因为您试图将信息传递到已经提供了参数的命令中。例如:

作品:

"Success" | Write-Host

Write-Host "Success"

失败:

"Success" | write-host "Success"

如果将该行更改为Get-Function -continue "$(Write-Host)success" | Write-Host,它将起作用,但没有意义。您的函数中有Write-Host,因此再写也没有意义。希望有帮助!

本文链接:https://www.f2er.com/3141755.html

大家都在问