$?
在 PowerShell 中,和有什么区别$LastExitCode
?
我阅读了有关自动变量的信息,它说:
$? Contains the execution status of the last operation. It contains TRUE if the last operation succeeded and FALSE if it failed.
$LastExitCode Contains the exit code of the last Windows-based program that was run.
在它的定义中$?
并没有解释成功和失败的含义。
我之所以问,是因为我假设$?
当且仅当 $LastExitCode 为 0 时它才是 True,但我发现了一个令人惊讶的反例:$LastExitCode=0 but $?=False in PowerShell。将 stderr 重定向到 stdout 会产生 NativeCommandError。