Was ist $? ein Alias für in Powershell?

In einem Skript, das mir heute gezeigt wurde, war die Zeile:

If ($?) {
#do some stuff
}

Ich habe das Dollarzeichen Fragezeichen Alias $ noch nie gesehen? vorher und kann nicht über Google feststellen, wofür es ist.

Wenn ich es in einem Powershell-Fenster ausführe, gibt es normalerweise True zurück, gelegentlich jedoch False. Meine Tests schienen darauf hinzudeuten, dass es False zurückgibt, wenn der Code, der ihm vorausgeht, fehlerhaft ausgeführt wird (und im Kontext des Skripts, das ich darin gesehen habe, ist dies möglicherweise sinnvoll) Szenario

Beispiel

PS C:\Users\me> $?
True
PS C:\Users\me> $?
True
PS C:\Users\me> blah
blah : The term 'blah' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ blah
+ ~~~~
+ CategoryInfo          : ObjectNotFound: (blah:String) [],         CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

PS C:\Users\me> $?
False
PS C:\Users\me> $?
True

Kann jemand für mich überprüfen, ob dies der Fall ist oder ob es einem anderen Zweck dient?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage