运行他人编写的脚本时出现Unexpected token '?'错误,求解决方法
解决PowerShell中"Unexpected token '?' in expression or statement"错误
你遇到的问题是因为这段C#风格的三元表达式在旧版本PowerShell中不被支持,PowerShell有自己的条件语法规则,以下是几种解决思路:
- 使用标准
if-else语句实现相同逻辑:
if ($Env:ASPNETCORE_ENVIRONMENT -eq "CI") { $configuration = "Release" } else { $configuration = "Debug" }
- 用PowerShell单行条件赋值写法(更接近原代码的简洁性):
$configuration = if ($Env:ASPNETCORE_ENVIRONMENT -eq "CI") { "Release" } else { "Debug" }
- 升级PowerShell版本到7.0及以上:从PowerShell 7开始正式支持C#风格的三元运算符,升级后你的原代码可以直接正常运行。
内容的提问来源于stack exchange,提问作者Jan Kadera
相关产品推荐
相关产品推荐

