Diferença entre $? e $ LastExitCode no PowerShell
No PowerShell, qual é a diferença entre$?
e$LastExitCode
?
Eu leiosobre variáveis automáticase dizia:
$? 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.
Na definição de$?
isso não explica o que significa sucesso e falha.
Eu pergunto porque eu presumi que$?
é True se e somente se $ LastExitCode for 0, mas eu encontrei um contra-exemplo surpreendente:$ LastExitCode = 0, mas $? = False no PowerShell. Redirecionando stderr para stdout dá NativeCommandError.