Функциональный переключатель Powershell - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь создать функцию квази-регистрации и передать параметр функции в качестве переменной для возможного вывода.

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

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

В случае ошибки выводится success, который указан после-continue flag.

Но ошибки этой версии из-за конвейера:

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

Создает ошибку после конвейера.

1 Ответ

0 голосов
/ 08 ноября 2019

Я немного запутался в вопросе, но он терпит неудачу, потому что вы пытаетесь передать информацию в команду, которой вы уже задаете параметры. Например:

Работает:

"Success" | Write-Host

Write-Host "Success"

Сбои:

"Success" | write-host "Success"

Если вы измените эту строку на Get-Function -continue "$(Write-Host)success" | Write-Host, она будет работать, но бессмысленно. У вас есть Write-Host в вашей функции, поэтому на самом деле нет смысла писать это снова. Надеюсь, это поможет!

...