我有一个Powershell脚本运行,它从一个点源.ps1文件调用一个函数。
在这个函数中,我做了一个exit 1
,它终止了整个脚本(如预期的那样)。
当我现在看$?
和$LASTEXITCODE
它说True
和0
。
不应该有False
和1
?
有什么我没有看到?从子功能终止时从powershell脚本退出代码
例子:
主脚本:
Log-Error -Error "some error" -exit $True
在function.ps1:
Function Log-Finish {
[CmdletBinding()]
Param ([Parameter(Mandatory=$false)][boolean]$Exit)
Process {
" error "
# If $Exit is $true, end calling script
If(($Exit) -or ($Exit -eq $True)) {
Exit 1
}
}
}
显示您的代码。我尝试,描述你的内容,并在结果中得到'False'和'1'。 – PetSerAl
已添加到原文 – user3322838
请包括调用主脚本和检查'$?'和'$ LASTEXITCODE'的代码。在function.ps1中你有'Log-Finish',但在主脚本中调用'Log-Error'。 – PetSerAl