В сценарии я был показан сегодня был линия:
If ($?) {
#do some stuff
}
Я никогда не видел знак доллара знак вопроса псевдоним $? до и не могу установить через Google, для чего это необходимо.
Когда я запускаю его в окне powershell, он обычно возвращает True, однако иногда возвращает False. Мое тестирование показало, что оно возвращает False, когда предшествующий ему код выполняется в ошибке (и в контексте сценария, который я видел в этом может иметь смысл), так что это, возможно, альтернативный способ обработки TRY .. CATCH сценарий.
Пример:
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
Может кто-нибудь проверить для меня, если это так, или если он служит какой-либо другой цели?
Спасибо за этот пост Ansgar – Jimbo