Позвольте мне повторить, что вы делаете, но с более простым примером:
У вас есть функция, например, так:
function a{
write-host "this is function a"
}
Допустим, вы сохранили ее в test.ps1
Теперь, чтобы проверить это в ISE, вы выполните ниже в test.ps1:
function a{
write-host "this is function a"
}
a
И нажмите кнопку Run, и вы получите ожидаемый результат, в данном случае this is function a
Теперь вы используете оригинальный файл test.ps1 без нижней строки (a) и вызываете его из консоли так:
. .\test.ps1 a
И он не даетвыход.Зачем?a
, предполагаемый вызов функции передается в качестве параметра в скрипт, а функция a не вызывается.
Вы должны сделать это следующим образом:
. .\test.ps1; a
PS: Вы не используете exit 0
и exit 1
в неправильных местах?