In PowerShell, was ist der Unterschied zwischen $?
und $LastExitCode
?
Ich las about automatic variables, und es wird gesagt:
$? 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.
In der Definition von $?
es nicht erklären, was mittlere gelingen und scheitern.
Ich frage, weil ich davon ausgegangen, dass $?
Wahr ist, wenn und nur wenn $ lastexitcode 0 ist, aber ich fand ein überraschendes Gegenbeispiel: $LastExitCode=0 but $?=False in PowerShell. Redirecting stderr to stdout gives NativeCommandError.
Danke Joey. Ich selbst dachte $? bedeutete Exit-Code ungleich Null, aber ich habe gerade ein überraschendes Gegenbeispiel gefunden. Siehe http://stackoverflow.com/questions/10666101/powershell-lassexitcode-0-but-false-redirecting-stderr-to-stdout-gives-nat –
Das ist ein interessanter. Ich würde glauben, dass dies ein Fehler ist (weil er sich inkonsistent zwischen verschiedenen PowerShell-Hosts verhält). – Joey
Und verschiedene Cmdlets: @iex abcde @ für Beispiel gibt weder $? = False oder $ LastExitCode> 0 zurück – majkinetor